s3:ntlmssp: only include ntlmssp.h where actually needed
[Samba/ekacnet.git] / librpc / gen_ndr / ndr_drsuapi.c
blobeb89db767a4d6a7ca5c7c676493dc83d1526cdbb
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 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsOptions(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 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsOptions(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_DrsOptions(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_DRS_ASYNC_OP", DRSUAPI_DRS_ASYNC_OP, r);
29 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GETCHG_CHECK", DRSUAPI_DRS_GETCHG_CHECK, r);
30 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF, r);
31 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL, r);
32 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF, r);
33 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP, r);
34 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC, r);
35 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC, r);
36 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP, r);
37 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP, r);
38 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR, r);
39 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC, r);
40 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY, r);
41 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC, r);
42 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE, r);
43 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY, r);
44 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_BYNAME", DRSUAPI_DRS_SYNC_BYNAME, r);
45 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK, r);
46 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW, r);
47 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE, r);
48 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET, r);
49 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN, r);
50 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING, r);
51 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED, r);
52 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC, r);
53 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC, r);
54 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_USE_COMPRESSION", DRSUAPI_DRS_USE_COMPRESSION, r);
55 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_NOTIFY", DRSUAPI_DRS_NEVER_NOTIFY, r);
56 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_PAS", DRSUAPI_DRS_SYNC_PAS, r);
57 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP", DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP, r);
58 ndr->depth--;
61 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
63 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
64 return NDR_ERR_SUCCESS;
67 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
69 uint32_t v;
70 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
71 *r = v;
72 return NDR_ERR_SUCCESS;
75 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensions(struct ndr_print *ndr, const char *name, uint32_t r)
77 ndr_print_uint32(ndr, name, r);
78 ndr->depth++;
79 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE, r);
80 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION, r);
81 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI, r);
82 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2, r);
83 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS, r);
84 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1, r);
85 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION, r);
86 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_00000080", DRSUAPI_SUPPORTED_EXTENSION_00000080, r);
87 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE, r);
88 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2, r);
89 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION, r);
90 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2, r);
91 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);
92 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND, r);
93 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO, r);
94 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION, r);
95 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01, r);
96 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP, r);
97 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY, r);
98 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3, r);
99 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_00100000", DRSUAPI_SUPPORTED_EXTENSION_00100000, r);
100 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2, r);
101 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6, r);
102 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS, r);
103 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8, r);
104 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5, r);
105 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6, r);
106 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3, r);
107 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7, r);
108 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT, r);
109 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS, r);
110 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_20000000", DRSUAPI_SUPPORTED_EXTENSION_20000000, r);
111 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_40000000", DRSUAPI_SUPPORTED_EXTENSION_40000000, r);
112 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_80000000", DRSUAPI_SUPPORTED_EXTENSION_80000000, r);
113 ndr->depth--;
116 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push *ndr, int ndr_flags, uint32_t r)
118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
119 return NDR_ERR_SUCCESS;
122 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
124 uint32_t v;
125 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
126 *r = v;
127 return NDR_ERR_SUCCESS;
130 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print *ndr, const char *name, uint32_t r)
132 ndr_print_uint32(ndr, name, r);
133 ndr->depth++;
134 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM, r);
135 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2, r);
136 ndr->depth--;
139 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo24(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo24 *r)
141 if (ndr_flags & NDR_SCALARS) {
142 NDR_CHECK(ndr_push_align(ndr, 4));
143 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
144 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
146 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
148 if (ndr_flags & NDR_BUFFERS) {
150 return NDR_ERR_SUCCESS;
153 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo24 *r)
155 if (ndr_flags & NDR_SCALARS) {
156 NDR_CHECK(ndr_pull_align(ndr, 4));
157 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
158 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
159 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
160 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
162 if (ndr_flags & NDR_BUFFERS) {
164 return NDR_ERR_SUCCESS;
167 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo24 *r)
169 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo24");
170 ndr->depth++;
171 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
172 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
173 ndr_print_uint32(ndr, "pid", r->pid);
174 ndr->depth--;
177 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo28(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo28 *r)
179 if (ndr_flags & NDR_SCALARS) {
180 NDR_CHECK(ndr_push_align(ndr, 4));
181 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
182 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
185 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
187 if (ndr_flags & NDR_BUFFERS) {
189 return NDR_ERR_SUCCESS;
192 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo28 *r)
194 if (ndr_flags & NDR_SCALARS) {
195 NDR_CHECK(ndr_pull_align(ndr, 4));
196 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
197 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
198 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
199 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
200 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
202 if (ndr_flags & NDR_BUFFERS) {
204 return NDR_ERR_SUCCESS;
207 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo28 *r)
209 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo28");
210 ndr->depth++;
211 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
212 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
213 ndr_print_uint32(ndr, "pid", r->pid);
214 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
215 ndr->depth--;
218 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo48(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo48 *r)
220 if (ndr_flags & NDR_SCALARS) {
221 NDR_CHECK(ndr_push_align(ndr, 4));
222 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
223 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
225 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
226 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
227 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
228 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
230 if (ndr_flags & NDR_BUFFERS) {
232 return NDR_ERR_SUCCESS;
235 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo48 *r)
237 if (ndr_flags & NDR_SCALARS) {
238 NDR_CHECK(ndr_pull_align(ndr, 4));
239 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
240 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
241 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
242 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
243 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
244 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
245 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
247 if (ndr_flags & NDR_BUFFERS) {
249 return NDR_ERR_SUCCESS;
252 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo48 *r)
254 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo48");
255 ndr->depth++;
256 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
257 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
258 ndr_print_uint32(ndr, "pid", r->pid);
259 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
260 ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
261 ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid);
262 ndr->depth--;
265 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoFallBack *r)
267 if (ndr_flags & NDR_SCALARS) {
268 NDR_CHECK(ndr_push_align(ndr, 4));
270 uint32_t _flags_save_DATA_BLOB = ndr->flags;
271 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
272 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->info));
273 ndr->flags = _flags_save_DATA_BLOB;
275 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
277 if (ndr_flags & NDR_BUFFERS) {
279 return NDR_ERR_SUCCESS;
282 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoFallBack *r)
284 if (ndr_flags & NDR_SCALARS) {
285 NDR_CHECK(ndr_pull_align(ndr, 4));
287 uint32_t _flags_save_DATA_BLOB = ndr->flags;
288 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
289 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->info));
290 ndr->flags = _flags_save_DATA_BLOB;
292 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
294 if (ndr_flags & NDR_BUFFERS) {
296 return NDR_ERR_SUCCESS;
299 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoFallBack *r)
301 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoFallBack");
302 ndr->depth++;
303 ndr_print_DATA_BLOB(ndr, "info", r->info);
304 ndr->depth--;
307 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsBindInfo *r)
309 if (ndr_flags & NDR_SCALARS) {
310 int level = ndr_push_get_switch_value(ndr, r);
311 NDR_CHECK(ndr_push_union_align(ndr, 1));
312 switch (level) {
313 case 24: {
315 struct ndr_push *_ndr_info24;
316 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info24, 4, -1));
317 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
318 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info24, 4, -1));
320 break; }
322 case 28: {
324 struct ndr_push *_ndr_info28;
325 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info28, 4, -1));
326 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
327 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info28, 4, -1));
329 break; }
331 case 48: {
333 struct ndr_push *_ndr_info48;
334 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info48, 4, -1));
335 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
336 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info48, 4, -1));
338 break; }
340 default: {
342 struct ndr_push *_ndr_FallBack;
343 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
344 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
345 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_FallBack, 4, -1));
347 break; }
351 if (ndr_flags & NDR_BUFFERS) {
352 int level = ndr_push_get_switch_value(ndr, r);
353 switch (level) {
354 case 24:
355 break;
357 case 28:
358 break;
360 case 48:
361 break;
363 default:
364 break;
368 return NDR_ERR_SUCCESS;
371 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsBindInfo *r)
373 int level;
374 level = ndr_pull_get_switch_value(ndr, r);
375 if (ndr_flags & NDR_SCALARS) {
376 NDR_CHECK(ndr_pull_union_align(ndr, 1));
377 switch (level) {
378 case 24: {
380 struct ndr_pull *_ndr_info24;
381 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info24, 4, -1));
382 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
383 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info24, 4, -1));
385 break; }
387 case 28: {
389 struct ndr_pull *_ndr_info28;
390 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info28, 4, -1));
391 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
392 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info28, 4, -1));
394 break; }
396 case 48: {
398 struct ndr_pull *_ndr_info48;
399 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info48, 4, -1));
400 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
401 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info48, 4, -1));
403 break; }
405 default: {
407 struct ndr_pull *_ndr_FallBack;
408 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
409 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
410 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_FallBack, 4, -1));
412 break; }
416 if (ndr_flags & NDR_BUFFERS) {
417 switch (level) {
418 case 24:
419 break;
421 case 28:
422 break;
424 case 48:
425 break;
427 default:
428 break;
432 return NDR_ERR_SUCCESS;
435 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsBindInfo *r)
437 int level;
438 level = ndr_print_get_switch_value(ndr, r);
439 ndr_print_union(ndr, name, level, "drsuapi_DsBindInfo");
440 switch (level) {
441 case 24:
442 ndr_print_drsuapi_DsBindInfo24(ndr, "info24", &r->info24);
443 break;
445 case 28:
446 ndr_print_drsuapi_DsBindInfo28(ndr, "info28", &r->info28);
447 break;
449 case 48:
450 ndr_print_drsuapi_DsBindInfo48(ndr, "info48", &r->info48);
451 break;
453 default:
454 ndr_print_drsuapi_DsBindInfoFallBack(ndr, "FallBack", &r->FallBack);
455 break;
460 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoCtr *r)
462 if (ndr_flags & NDR_SCALARS) {
463 NDR_CHECK(ndr_push_align(ndr, 4));
464 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
465 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->length));
466 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
467 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
469 if (ndr_flags & NDR_BUFFERS) {
471 return NDR_ERR_SUCCESS;
474 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoCtr *r)
476 if (ndr_flags & NDR_SCALARS) {
477 NDR_CHECK(ndr_pull_align(ndr, 4));
478 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
479 if (r->length < 1 || r->length > 10000) {
480 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
482 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->length));
483 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
484 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
486 if (ndr_flags & NDR_BUFFERS) {
488 return NDR_ERR_SUCCESS;
491 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoCtr *r)
493 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoCtr");
494 ndr->depth++;
495 ndr_print_uint32(ndr, "length", r->length);
496 ndr_print_set_switch_value(ndr, &r->info, r->length);
497 ndr_print_drsuapi_DsBindInfo(ndr, "info", &r->info);
498 ndr->depth--;
501 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier *r)
503 if (ndr_flags & NDR_SCALARS) {
504 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->dn) + 1));
505 NDR_CHECK(ndr_push_align(ndr, 4));
506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->iconv_convenience, ndr->flags) - 4));
507 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
508 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
509 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
510 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
511 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
512 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
514 if (ndr_flags & NDR_BUFFERS) {
515 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
517 return NDR_ERR_SUCCESS;
520 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier *r)
522 if (ndr_flags & NDR_SCALARS) {
523 NDR_CHECK(ndr_pull_array_size(ndr, &r->dn));
524 NDR_CHECK(ndr_pull_align(ndr, 4));
525 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
526 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
527 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
528 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
529 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
530 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, ndr_get_array_size(ndr, &r->dn), sizeof(uint16_t), CH_UTF16));
531 if (r->dn) {
532 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->dn, r->__ndr_size_dn + 1));
534 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
536 if (ndr_flags & NDR_BUFFERS) {
537 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
539 return NDR_ERR_SUCCESS;
542 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier *r)
544 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier");
545 ndr->depth++;
546 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);
547 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);
548 ndr_print_GUID(ndr, "guid", &r->guid);
549 ndr_print_dom_sid28(ndr, "sid", &r->sid);
550 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
551 ndr_print_string(ndr, "dn", r->dn);
552 ndr->depth--;
555 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier *r, struct smb_iconv_convenience *ic, int flags)
557 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier, ic);
560 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
562 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
563 return NDR_ERR_SUCCESS;
566 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
568 uint32_t v;
569 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
570 *r = v;
571 return NDR_ERR_SUCCESS;
574 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncOptions(struct ndr_print *ndr, const char *name, uint32_t r)
576 ndr_print_uint32(ndr, name, r);
577 ndr->depth++;
578 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION, r);
579 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_WRITEABLE", DRSUAPI_DS_REPLICA_SYNC_WRITEABLE, r);
580 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PERIODIC", DRSUAPI_DS_REPLICA_SYNC_PERIODIC, r);
581 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING", DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING, r);
582 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES", DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES, r);
583 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL", DRSUAPI_DS_REPLICA_SYNC_FULL, r);
584 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_URGENT", DRSUAPI_DS_REPLICA_SYNC_URGENT, r);
585 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD", DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD, r);
586 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FORCE", DRSUAPI_DS_REPLICA_SYNC_FORCE, r);
587 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE", DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE, r);
588 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED", DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED, r);
589 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_TWO_WAY", DRSUAPI_DS_REPLICA_SYNC_TWO_WAY, r);
590 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY", DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY, r);
591 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL", DRSUAPI_DS_REPLICA_SYNC_INITIAL, r);
592 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION", DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION, r);
593 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ABANDONED", DRSUAPI_DS_REPLICA_SYNC_ABANDONED, r);
594 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS, r);
595 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET, r);
596 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_REQUEUE", DRSUAPI_DS_REPLICA_SYNC_REQUEUE, r);
597 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION", DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION, r);
598 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA, r);
599 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_CRITICAL", DRSUAPI_DS_REPLICA_SYNC_CRITICAL, r);
600 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS, r);
601 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PREEMPTED", DRSUAPI_DS_REPLICA_SYNC_PREEMPTED, r);
602 ndr->depth--;
605 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r)
607 if (ndr_flags & NDR_SCALARS) {
608 NDR_CHECK(ndr_push_align(ndr, 5));
609 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
610 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
612 uint32_t _flags_save_string = ndr->flags;
613 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
614 NDR_CHECK(ndr_push_unique_ptr(ndr, r->other_info));
615 ndr->flags = _flags_save_string;
617 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->options));
618 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
620 if (ndr_flags & NDR_BUFFERS) {
621 if (r->naming_context) {
622 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
625 uint32_t _flags_save_string = ndr->flags;
626 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
627 if (r->other_info) {
628 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->other_info));
630 ndr->flags = _flags_save_string;
633 return NDR_ERR_SUCCESS;
636 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r)
638 uint32_t _ptr_naming_context;
639 TALLOC_CTX *_mem_save_naming_context_0;
640 uint32_t _ptr_other_info;
641 TALLOC_CTX *_mem_save_other_info_0;
642 if (ndr_flags & NDR_SCALARS) {
643 NDR_CHECK(ndr_pull_align(ndr, 5));
644 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
645 if (_ptr_naming_context) {
646 NDR_PULL_ALLOC(ndr, r->naming_context);
647 } else {
648 r->naming_context = NULL;
650 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
652 uint32_t _flags_save_string = ndr->flags;
653 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
654 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info));
655 if (_ptr_other_info) {
656 NDR_PULL_ALLOC(ndr, r->other_info);
657 } else {
658 r->other_info = NULL;
660 ndr->flags = _flags_save_string;
662 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->options));
663 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
665 if (ndr_flags & NDR_BUFFERS) {
666 if (r->naming_context) {
667 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
668 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
669 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
670 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
673 uint32_t _flags_save_string = ndr->flags;
674 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
675 if (r->other_info) {
676 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
677 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
678 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->other_info));
679 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
681 ndr->flags = _flags_save_string;
684 return NDR_ERR_SUCCESS;
687 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r)
689 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1");
690 ndr->depth++;
691 ndr_print_ptr(ndr, "naming_context", r->naming_context);
692 ndr->depth++;
693 if (r->naming_context) {
694 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
696 ndr->depth--;
697 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
698 ndr_print_ptr(ndr, "other_info", r->other_info);
699 ndr->depth++;
700 if (r->other_info) {
701 ndr_print_string(ndr, "other_info", r->other_info);
703 ndr->depth--;
704 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "options", r->options);
705 ndr->depth--;
708 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r)
710 if (ndr_flags & NDR_SCALARS) {
711 int level = ndr_push_get_switch_value(ndr, r);
712 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
713 NDR_CHECK(ndr_push_union_align(ndr, 5));
714 switch (level) {
715 case 1: {
716 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
717 break; }
719 default:
720 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
723 if (ndr_flags & NDR_BUFFERS) {
724 int level = ndr_push_get_switch_value(ndr, r);
725 switch (level) {
726 case 1:
727 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
728 break;
730 default:
731 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
734 return NDR_ERR_SUCCESS;
737 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
739 int level;
740 int32_t _level;
741 level = ndr_pull_get_switch_value(ndr, r);
742 if (ndr_flags & NDR_SCALARS) {
743 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
744 if (_level != level) {
745 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
747 NDR_CHECK(ndr_pull_union_align(ndr, 5));
748 switch (level) {
749 case 1: {
750 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
751 break; }
753 default:
754 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
757 if (ndr_flags & NDR_BUFFERS) {
758 switch (level) {
759 case 1:
760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
761 break;
763 default:
764 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
767 return NDR_ERR_SUCCESS;
770 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r)
772 int level;
773 level = ndr_print_get_switch_value(ndr, r);
774 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
775 switch (level) {
776 case 1:
777 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
778 break;
780 default:
781 ndr_print_bad_level(ndr, name, level);
785 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r)
787 if (ndr_flags & NDR_SCALARS) {
788 NDR_CHECK(ndr_push_align(ndr, 8));
789 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
790 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn));
791 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
792 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
794 if (ndr_flags & NDR_BUFFERS) {
796 return NDR_ERR_SUCCESS;
799 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r)
801 if (ndr_flags & NDR_SCALARS) {
802 NDR_CHECK(ndr_pull_align(ndr, 8));
803 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
804 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn));
805 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
806 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
808 if (ndr_flags & NDR_BUFFERS) {
810 return NDR_ERR_SUCCESS;
813 _PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r)
815 ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark");
816 ndr->depth++;
817 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
818 ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn);
819 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
820 ndr->depth--;
823 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r)
825 if (ndr_flags & NDR_SCALARS) {
826 NDR_CHECK(ndr_push_align(ndr, 8));
827 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
828 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
829 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
831 if (ndr_flags & NDR_BUFFERS) {
833 return NDR_ERR_SUCCESS;
836 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r)
838 if (ndr_flags & NDR_SCALARS) {
839 NDR_CHECK(ndr_pull_align(ndr, 8));
840 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
841 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
842 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
844 if (ndr_flags & NDR_BUFFERS) {
846 return NDR_ERR_SUCCESS;
849 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r)
851 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor");
852 ndr->depth++;
853 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
854 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
855 ndr->depth--;
858 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r)
860 uint32_t cntr_cursors_0;
861 if (ndr_flags & NDR_SCALARS) {
862 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
863 NDR_CHECK(ndr_push_align(ndr, 8));
864 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
865 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
866 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
867 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
868 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
869 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
871 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
873 if (ndr_flags & NDR_BUFFERS) {
875 return NDR_ERR_SUCCESS;
878 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r)
880 uint32_t cntr_cursors_0;
881 TALLOC_CTX *_mem_save_cursors_0;
882 if (ndr_flags & NDR_SCALARS) {
883 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
884 NDR_CHECK(ndr_pull_align(ndr, 8));
885 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
886 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
887 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
888 if (r->count > 0x100000) {
889 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
891 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
892 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
893 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
894 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
895 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
896 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
899 if (r->cursors) {
900 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
902 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
904 if (ndr_flags & NDR_BUFFERS) {
906 return NDR_ERR_SUCCESS;
909 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r)
911 uint32_t cntr_cursors_0;
912 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx");
913 ndr->depth++;
914 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
915 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
916 ndr_print_uint32(ndr, "count", r->count);
917 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
918 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
919 ndr->depth++;
920 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
921 char *idx_0=NULL;
922 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
923 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
924 free(idx_0);
927 ndr->depth--;
928 ndr->depth--;
931 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
933 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
934 return NDR_ERR_SUCCESS;
937 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
939 uint32_t v;
940 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
941 *r = v;
942 return NDR_ERR_SUCCESS;
945 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourFlags(struct ndr_print *ndr, const char *name, uint32_t r)
947 ndr_print_uint32(ndr, name, r);
948 ndr->depth++;
949 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE", DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE, r);
950 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP", DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP, r);
951 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS", DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS, r);
952 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);
953 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_ASYNC_REP", DRSUAPI_DS_REPLICA_NEIGHBOUR_ASYNC_REP, r);
954 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR", DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR, r);
955 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC, r);
956 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY", DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY, r);
957 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS", DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS, r);
958 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS, r);
959 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET, r);
960 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED", DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED, r);
961 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING", DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING, r);
962 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED", DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED, r);
963 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS, r);
964 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC, r);
965 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES", DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES, r);
966 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS, r);
967 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET, r);
968 ndr->depth--;
971 static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r)
974 uint32_t _flags_save_ENUM = ndr->flags;
975 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
976 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
977 ndr->flags = _flags_save_ENUM;
979 return NDR_ERR_SUCCESS;
982 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r)
984 uint32_t v;
986 uint32_t _flags_save_ENUM = ndr->flags;
987 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
988 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
989 *r = v;
990 ndr->flags = _flags_save_ENUM;
992 return NDR_ERR_SUCCESS;
995 _PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r)
997 const char *val = NULL;
1000 uint32_t _flags_save_ENUM = ndr->flags;
1001 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1002 switch (r) {
1003 case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break;
1004 case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
1005 case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
1006 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
1007 case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
1008 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
1009 case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break;
1010 case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break;
1012 ndr_print_enum(ndr, name, "ENUM", val, r);
1013 ndr->flags = _flags_save_ENUM;
1017 static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r)
1020 uint32_t _flags_save_ENUM = ndr->flags;
1021 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1022 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1023 ndr->flags = _flags_save_ENUM;
1025 return NDR_ERR_SUCCESS;
1028 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r)
1030 uint32_t v;
1032 uint32_t _flags_save_ENUM = ndr->flags;
1033 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1034 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1035 *r = v;
1036 ndr->flags = _flags_save_ENUM;
1038 return NDR_ERR_SUCCESS;
1041 _PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r)
1043 const char *val = NULL;
1046 uint32_t _flags_save_ENUM = ndr->flags;
1047 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1048 switch (r) {
1049 case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break;
1050 case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break;
1051 case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
1052 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
1053 case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
1054 case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
1055 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
1056 case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
1057 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
1058 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
1059 case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break;
1060 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
1061 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
1062 case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
1063 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
1064 case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
1065 case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
1067 ndr_print_enum(ndr, name, "ENUM", val, r);
1068 ndr->flags = _flags_save_ENUM;
1072 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r)
1074 if (ndr_flags & NDR_SCALARS) {
1075 NDR_CHECK(ndr_push_align(ndr, 8));
1076 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1077 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1078 if (r->naming_context == NULL) {
1079 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1081 NDR_CHECK(ndr_push_ref_ptr(ndr));
1082 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1083 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1084 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1087 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1088 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1089 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1091 if (ndr_flags & NDR_BUFFERS) {
1092 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1093 if (r->uptodateness_vector) {
1094 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1097 return NDR_ERR_SUCCESS;
1100 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r)
1102 uint32_t _ptr_naming_context;
1103 TALLOC_CTX *_mem_save_naming_context_0;
1104 uint32_t _ptr_uptodateness_vector;
1105 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1106 if (ndr_flags & NDR_SCALARS) {
1107 NDR_CHECK(ndr_pull_align(ndr, 8));
1108 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1109 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1110 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1111 if (_ptr_naming_context) {
1112 NDR_PULL_ALLOC(ndr, r->naming_context);
1113 } else {
1114 r->naming_context = NULL;
1116 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1117 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1118 if (_ptr_uptodateness_vector) {
1119 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1120 } else {
1121 r->uptodateness_vector = NULL;
1123 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1125 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1126 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1127 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1128 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1130 if (ndr_flags & NDR_BUFFERS) {
1131 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1132 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1133 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1134 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1135 if (r->uptodateness_vector) {
1136 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1137 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1138 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1142 return NDR_ERR_SUCCESS;
1145 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r)
1147 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5");
1148 ndr->depth++;
1149 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1150 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1151 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1152 ndr->depth++;
1153 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1154 ndr->depth--;
1155 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1156 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1157 ndr->depth++;
1158 if (r->uptodateness_vector) {
1159 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1161 ndr->depth--;
1162 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1163 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1164 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1165 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1166 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1167 ndr->depth--;
1170 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOID(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOID *r)
1172 if (ndr_flags & NDR_SCALARS) {
1173 NDR_CHECK(ndr_push_align(ndr, 5));
1174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1175 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary_oid));
1176 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1178 if (ndr_flags & NDR_BUFFERS) {
1179 if (r->binary_oid) {
1180 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
1181 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
1184 return NDR_ERR_SUCCESS;
1187 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOID *r)
1189 uint32_t _ptr_binary_oid;
1190 TALLOC_CTX *_mem_save_binary_oid_0;
1191 if (ndr_flags & NDR_SCALARS) {
1192 NDR_CHECK(ndr_pull_align(ndr, 5));
1193 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1194 if (r->length > 10000) {
1195 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1197 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_oid));
1198 if (_ptr_binary_oid) {
1199 NDR_PULL_ALLOC(ndr, r->binary_oid);
1200 } else {
1201 r->binary_oid = NULL;
1203 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1205 if (ndr_flags & NDR_BUFFERS) {
1206 if (r->binary_oid) {
1207 _mem_save_binary_oid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1208 NDR_PULL_SET_MEM_CTX(ndr, r->binary_oid, 0);
1209 NDR_CHECK(ndr_pull_array_size(ndr, &r->binary_oid));
1210 NDR_PULL_ALLOC_N(ndr, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid));
1211 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid)));
1212 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_oid_0, 0);
1214 if (r->binary_oid) {
1215 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->binary_oid, r->length));
1218 return NDR_ERR_SUCCESS;
1221 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
1223 if (ndr_flags & NDR_SCALARS) {
1224 NDR_CHECK(ndr_push_align(ndr, 5));
1225 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
1226 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1227 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1229 if (ndr_flags & NDR_BUFFERS) {
1230 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1232 return NDR_ERR_SUCCESS;
1235 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
1237 if (ndr_flags & NDR_SCALARS) {
1238 NDR_CHECK(ndr_pull_align(ndr, 5));
1239 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
1240 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1241 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1243 if (ndr_flags & NDR_BUFFERS) {
1244 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1246 return NDR_ERR_SUCCESS;
1249 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
1251 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
1252 ndr->depth++;
1253 ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1254 ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
1255 ndr->depth--;
1258 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1260 uint32_t cntr_mappings_1;
1261 if (ndr_flags & NDR_SCALARS) {
1262 NDR_CHECK(ndr_push_align(ndr, 5));
1263 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1264 NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
1265 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1267 if (ndr_flags & NDR_BUFFERS) {
1268 if (r->mappings) {
1269 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_mappings));
1270 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1271 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1273 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1274 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1278 return NDR_ERR_SUCCESS;
1281 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1283 uint32_t _ptr_mappings;
1284 uint32_t cntr_mappings_1;
1285 TALLOC_CTX *_mem_save_mappings_0;
1286 TALLOC_CTX *_mem_save_mappings_1;
1287 if (ndr_flags & NDR_SCALARS) {
1288 NDR_CHECK(ndr_pull_align(ndr, 5));
1289 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
1290 if (r->num_mappings > 0x100000) {
1291 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1293 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
1294 if (_ptr_mappings) {
1295 NDR_PULL_ALLOC(ndr, r->mappings);
1296 } else {
1297 r->mappings = NULL;
1299 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1301 if (ndr_flags & NDR_BUFFERS) {
1302 if (r->mappings) {
1303 _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1304 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1305 NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
1306 NDR_PULL_ALLOC_N(ndr, r->mappings, ndr_get_array_size(ndr, &r->mappings));
1307 _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1308 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1309 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1310 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1312 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1313 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
1316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
1318 if (r->mappings) {
1319 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
1322 return NDR_ERR_SUCCESS;
1325 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1327 uint32_t cntr_mappings_1;
1328 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
1329 ndr->depth++;
1330 ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1331 ndr_print_ptr(ndr, "mappings", r->mappings);
1332 ndr->depth++;
1333 if (r->mappings) {
1334 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1335 ndr->depth++;
1336 for (cntr_mappings_1=0;cntr_mappings_1<r->num_mappings;cntr_mappings_1++) {
1337 char *idx_1=NULL;
1338 if (asprintf(&idx_1, "[%d]", cntr_mappings_1) != -1) {
1339 ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
1340 free(idx_1);
1343 ndr->depth--;
1345 ndr->depth--;
1346 ndr->depth--;
1349 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
1352 uint32_t _flags_save_ENUM = ndr->flags;
1353 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1354 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1355 ndr->flags = _flags_save_ENUM;
1357 return NDR_ERR_SUCCESS;
1360 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
1362 uint32_t v;
1364 uint32_t _flags_save_ENUM = ndr->flags;
1365 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1366 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1367 *r = v;
1368 ndr->flags = _flags_save_ENUM;
1370 return NDR_ERR_SUCCESS;
1373 _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
1375 const char *val = NULL;
1378 uint32_t _flags_save_ENUM = ndr->flags;
1379 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1380 switch (r) {
1381 case DRSUAPI_ATTRIBUTE_objectClass: val = "DRSUAPI_ATTRIBUTE_objectClass"; break;
1382 case DRSUAPI_ATTRIBUTE_description: val = "DRSUAPI_ATTRIBUTE_description"; break;
1383 case DRSUAPI_ATTRIBUTE_member: val = "DRSUAPI_ATTRIBUTE_member"; break;
1384 case DRSUAPI_ATTRIBUTE_instanceType: val = "DRSUAPI_ATTRIBUTE_instanceType"; break;
1385 case DRSUAPI_ATTRIBUTE_whenCreated: val = "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1386 case DRSUAPI_ATTRIBUTE_possSuperiors: val = "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1387 case DRSUAPI_ATTRIBUTE_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1388 case DRSUAPI_ATTRIBUTE_subClassOf: val = "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1389 case DRSUAPI_ATTRIBUTE_governsID: val = "DRSUAPI_ATTRIBUTE_governsID"; break;
1390 case DRSUAPI_ATTRIBUTE_mustContain: val = "DRSUAPI_ATTRIBUTE_mustContain"; break;
1391 case DRSUAPI_ATTRIBUTE_mayContain: val = "DRSUAPI_ATTRIBUTE_mayContain"; break;
1392 case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1393 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1394 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1395 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1396 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1397 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1398 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1399 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1400 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1401 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1402 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1403 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1404 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1405 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1406 case DRSUAPI_ATTRIBUTE_auxiliaryClass: val = "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1407 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1408 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1409 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1410 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1411 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1412 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1413 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1414 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1415 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1416 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1417 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1418 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1419 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1420 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1421 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1422 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1423 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1424 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1425 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1426 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1427 case DRSUAPI_ATTRIBUTE_systemPossSuperiors: val = "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1428 case DRSUAPI_ATTRIBUTE_systemMayContain: val = "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1429 case DRSUAPI_ATTRIBUTE_systemMustContain: val = "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1430 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1431 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1432 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1433 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1434 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1435 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1436 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1437 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1438 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1439 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1440 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1441 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1442 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1443 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1444 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1445 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1446 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1447 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1448 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1449 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1451 ndr_print_enum(ndr, name, "ENUM", val, r);
1452 ndr->flags = _flags_save_ENUM;
1456 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1458 uint32_t cntr_attids_0;
1459 if (ndr_flags & NDR_SCALARS) {
1460 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
1461 NDR_CHECK(ndr_push_align(ndr, 4));
1462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1463 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1464 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1465 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1466 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1468 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1470 if (ndr_flags & NDR_BUFFERS) {
1472 return NDR_ERR_SUCCESS;
1475 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1477 uint32_t cntr_attids_0;
1478 TALLOC_CTX *_mem_save_attids_0;
1479 if (ndr_flags & NDR_SCALARS) {
1480 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1481 NDR_CHECK(ndr_pull_align(ndr, 4));
1482 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1483 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1484 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1485 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1486 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1488 NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids));
1489 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1490 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1491 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1492 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1494 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1495 if (r->attids) {
1496 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1498 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1500 if (ndr_flags & NDR_BUFFERS) {
1502 return NDR_ERR_SUCCESS;
1505 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1507 uint32_t cntr_attids_0;
1508 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1509 ndr->depth++;
1510 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1511 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1512 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1513 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1514 ndr->depth++;
1515 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1516 char *idx_0=NULL;
1517 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1518 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1519 free(idx_0);
1522 ndr->depth--;
1523 ndr->depth--;
1526 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1528 if (ndr_flags & NDR_SCALARS) {
1529 NDR_CHECK(ndr_push_align(ndr, 8));
1530 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1531 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1532 if (r->naming_context == NULL) {
1533 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1535 NDR_CHECK(ndr_push_ref_ptr(ndr));
1536 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1537 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1538 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1539 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1540 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1541 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1542 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1543 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1544 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1545 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1546 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1548 if (ndr_flags & NDR_BUFFERS) {
1549 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1550 if (r->uptodateness_vector) {
1551 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1553 if (r->partial_attribute_set) {
1554 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1556 if (r->partial_attribute_set_ex) {
1557 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1559 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1561 return NDR_ERR_SUCCESS;
1564 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1566 uint32_t _ptr_naming_context;
1567 TALLOC_CTX *_mem_save_naming_context_0;
1568 uint32_t _ptr_uptodateness_vector;
1569 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1570 uint32_t _ptr_partial_attribute_set;
1571 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1572 uint32_t _ptr_partial_attribute_set_ex;
1573 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1574 if (ndr_flags & NDR_SCALARS) {
1575 NDR_CHECK(ndr_pull_align(ndr, 8));
1576 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1577 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1578 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1579 if (_ptr_naming_context) {
1580 NDR_PULL_ALLOC(ndr, r->naming_context);
1581 } else {
1582 r->naming_context = NULL;
1584 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1585 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1586 if (_ptr_uptodateness_vector) {
1587 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1588 } else {
1589 r->uptodateness_vector = NULL;
1591 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1593 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1594 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1595 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1596 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1597 if (_ptr_partial_attribute_set) {
1598 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1599 } else {
1600 r->partial_attribute_set = NULL;
1602 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1603 if (_ptr_partial_attribute_set_ex) {
1604 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1605 } else {
1606 r->partial_attribute_set_ex = NULL;
1608 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1609 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1611 if (ndr_flags & NDR_BUFFERS) {
1612 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1613 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1614 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1615 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1616 if (r->uptodateness_vector) {
1617 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1618 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1619 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1622 if (r->partial_attribute_set) {
1623 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1624 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1625 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1628 if (r->partial_attribute_set_ex) {
1629 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1630 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1631 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1632 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1634 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1636 return NDR_ERR_SUCCESS;
1639 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1641 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1642 ndr->depth++;
1643 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1644 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1645 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1646 ndr->depth++;
1647 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1648 ndr->depth--;
1649 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1650 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1651 ndr->depth++;
1652 if (r->uptodateness_vector) {
1653 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1655 ndr->depth--;
1656 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1657 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1658 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1659 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1660 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1661 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1662 ndr->depth++;
1663 if (r->partial_attribute_set) {
1664 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1666 ndr->depth--;
1667 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1668 ndr->depth++;
1669 if (r->partial_attribute_set_ex) {
1670 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1672 ndr->depth--;
1673 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1674 ndr->depth--;
1677 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
1679 if (ndr_flags & NDR_SCALARS) {
1680 NDR_CHECK(ndr_push_align(ndr, 8));
1681 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1682 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1683 if (r->naming_context == NULL) {
1684 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1686 NDR_CHECK(ndr_push_ref_ptr(ndr));
1687 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1688 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1689 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1690 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1692 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1693 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1694 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1695 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1696 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1697 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_flags));
1698 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1700 if (ndr_flags & NDR_BUFFERS) {
1701 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1702 if (r->uptodateness_vector) {
1703 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1705 if (r->partial_attribute_set) {
1706 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1708 if (r->partial_attribute_set_ex) {
1709 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1711 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1713 return NDR_ERR_SUCCESS;
1716 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
1718 uint32_t _ptr_naming_context;
1719 TALLOC_CTX *_mem_save_naming_context_0;
1720 uint32_t _ptr_uptodateness_vector;
1721 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1722 uint32_t _ptr_partial_attribute_set;
1723 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1724 uint32_t _ptr_partial_attribute_set_ex;
1725 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1726 if (ndr_flags & NDR_SCALARS) {
1727 NDR_CHECK(ndr_pull_align(ndr, 8));
1728 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1729 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1730 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1731 if (_ptr_naming_context) {
1732 NDR_PULL_ALLOC(ndr, r->naming_context);
1733 } else {
1734 r->naming_context = NULL;
1736 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1737 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1738 if (_ptr_uptodateness_vector) {
1739 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1740 } else {
1741 r->uptodateness_vector = NULL;
1743 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1744 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1745 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1746 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1747 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1748 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1749 if (_ptr_partial_attribute_set) {
1750 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1751 } else {
1752 r->partial_attribute_set = NULL;
1754 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1755 if (_ptr_partial_attribute_set_ex) {
1756 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1757 } else {
1758 r->partial_attribute_set_ex = NULL;
1760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1761 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_flags));
1762 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1764 if (ndr_flags & NDR_BUFFERS) {
1765 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1766 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1767 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1768 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1769 if (r->uptodateness_vector) {
1770 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1771 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1772 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1773 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1775 if (r->partial_attribute_set) {
1776 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1777 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1778 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1781 if (r->partial_attribute_set_ex) {
1782 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1783 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1784 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1785 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1787 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1789 return NDR_ERR_SUCCESS;
1792 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
1794 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
1795 ndr->depth++;
1796 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1797 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1798 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1799 ndr->depth++;
1800 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1801 ndr->depth--;
1802 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1803 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1804 ndr->depth++;
1805 if (r->uptodateness_vector) {
1806 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1808 ndr->depth--;
1809 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1810 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1811 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1812 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1813 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1814 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1815 ndr->depth++;
1816 if (r->partial_attribute_set) {
1817 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1819 ndr->depth--;
1820 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1821 ndr->depth++;
1822 if (r->partial_attribute_set_ex) {
1823 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1825 ndr->depth--;
1826 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1827 ndr_print_uint32(ndr, "more_flags", r->more_flags);
1828 ndr->depth--;
1831 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1833 if (ndr_flags & NDR_SCALARS) {
1834 int level = ndr_push_get_switch_value(ndr, r);
1835 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
1836 NDR_CHECK(ndr_push_union_align(ndr, 8));
1837 switch (level) {
1838 case 5: {
1839 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1840 break; }
1842 case 8: {
1843 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1844 break; }
1846 case 10: {
1847 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1848 break; }
1850 default:
1851 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1854 if (ndr_flags & NDR_BUFFERS) {
1855 int level = ndr_push_get_switch_value(ndr, r);
1856 switch (level) {
1857 case 5:
1858 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1859 break;
1861 case 8:
1862 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1863 break;
1865 case 10:
1866 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1867 break;
1869 default:
1870 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1873 return NDR_ERR_SUCCESS;
1876 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1878 int level;
1879 int32_t _level;
1880 level = ndr_pull_get_switch_value(ndr, r);
1881 if (ndr_flags & NDR_SCALARS) {
1882 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
1883 if (_level != level) {
1884 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1886 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1887 switch (level) {
1888 case 5: {
1889 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1890 break; }
1892 case 8: {
1893 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1894 break; }
1896 case 10: {
1897 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1898 break; }
1900 default:
1901 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1904 if (ndr_flags & NDR_BUFFERS) {
1905 switch (level) {
1906 case 5:
1907 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1908 break;
1910 case 8:
1911 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1912 break;
1914 case 10:
1915 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1916 break;
1918 default:
1919 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1922 return NDR_ERR_SUCCESS;
1925 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1927 int level;
1928 level = ndr_print_get_switch_value(ndr, r);
1929 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1930 switch (level) {
1931 case 5:
1932 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1933 break;
1935 case 8:
1936 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1937 break;
1939 case 10:
1940 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
1941 break;
1943 default:
1944 ndr_print_bad_level(ndr, name, level);
1948 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1950 if (ndr_flags & NDR_SCALARS) {
1951 NDR_CHECK(ndr_push_align(ndr, 8));
1952 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1953 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1954 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1955 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1957 if (ndr_flags & NDR_BUFFERS) {
1959 return NDR_ERR_SUCCESS;
1962 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1964 if (ndr_flags & NDR_SCALARS) {
1965 NDR_CHECK(ndr_pull_align(ndr, 8));
1966 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1967 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1968 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1969 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1971 if (ndr_flags & NDR_BUFFERS) {
1973 return NDR_ERR_SUCCESS;
1976 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
1978 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
1979 ndr->depth++;
1980 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1981 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
1982 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
1983 ndr->depth--;
1986 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1988 uint32_t cntr_cursors_0;
1989 if (ndr_flags & NDR_SCALARS) {
1990 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1991 NDR_CHECK(ndr_push_align(ndr, 8));
1992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
1993 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1996 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1997 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1999 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2001 if (ndr_flags & NDR_BUFFERS) {
2003 return NDR_ERR_SUCCESS;
2006 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
2008 uint32_t cntr_cursors_0;
2009 TALLOC_CTX *_mem_save_cursors_0;
2010 if (ndr_flags & NDR_SCALARS) {
2011 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
2012 NDR_CHECK(ndr_pull_align(ndr, 8));
2013 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2014 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
2015 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2016 if (r->count > 0x100000) {
2017 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2019 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
2020 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
2021 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
2022 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
2023 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
2024 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
2026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
2027 if (r->cursors) {
2028 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
2030 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2032 if (ndr_flags & NDR_BUFFERS) {
2034 return NDR_ERR_SUCCESS;
2037 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
2039 uint32_t cntr_cursors_0;
2040 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
2041 ndr->depth++;
2042 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
2043 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2044 ndr_print_uint32(ndr, "count", r->count);
2045 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2046 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
2047 ndr->depth++;
2048 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
2049 char *idx_0=NULL;
2050 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
2051 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
2052 free(idx_0);
2055 ndr->depth--;
2056 ndr->depth--;
2059 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
2061 if (ndr_flags & NDR_SCALARS) {
2062 NDR_CHECK(ndr_push_align(ndr, 5));
2063 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
2064 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
2065 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2067 if (ndr_flags & NDR_BUFFERS) {
2068 if (r->blob) {
2069 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
2072 return NDR_ERR_SUCCESS;
2075 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
2077 uint32_t _ptr_blob;
2078 TALLOC_CTX *_mem_save_blob_0;
2079 if (ndr_flags & NDR_SCALARS) {
2080 NDR_CHECK(ndr_pull_align(ndr, 5));
2081 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2082 if (r->__ndr_size > 10485760) {
2083 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2085 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
2086 if (_ptr_blob) {
2087 NDR_PULL_ALLOC(ndr, r->blob);
2088 } else {
2089 r->blob = NULL;
2091 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2093 if (ndr_flags & NDR_BUFFERS) {
2094 if (r->blob) {
2095 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
2096 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
2097 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
2098 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
2101 return NDR_ERR_SUCCESS;
2104 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
2106 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
2107 ndr->depth++;
2108 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
2109 ndr_print_ptr(ndr, "blob", r->blob);
2110 ndr->depth++;
2111 if (r->blob) {
2112 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
2114 ndr->depth--;
2115 ndr->depth--;
2118 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
2120 uint32_t cntr_values_1;
2121 if (ndr_flags & NDR_SCALARS) {
2122 NDR_CHECK(ndr_push_align(ndr, 5));
2123 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
2124 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
2125 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2127 if (ndr_flags & NDR_BUFFERS) {
2128 if (r->values) {
2129 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
2130 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2131 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2133 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2134 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2138 return NDR_ERR_SUCCESS;
2141 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
2143 uint32_t _ptr_values;
2144 uint32_t cntr_values_1;
2145 TALLOC_CTX *_mem_save_values_0;
2146 TALLOC_CTX *_mem_save_values_1;
2147 if (ndr_flags & NDR_SCALARS) {
2148 NDR_CHECK(ndr_pull_align(ndr, 5));
2149 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
2150 if (r->num_values > 10485760) {
2151 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2153 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
2154 if (_ptr_values) {
2155 NDR_PULL_ALLOC(ndr, r->values);
2156 } else {
2157 r->values = NULL;
2159 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2161 if (ndr_flags & NDR_BUFFERS) {
2162 if (r->values) {
2163 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2164 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2165 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
2166 NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values));
2167 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
2168 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2169 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2170 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2172 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2173 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2175 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
2176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
2178 if (r->values) {
2179 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
2182 return NDR_ERR_SUCCESS;
2185 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
2187 uint32_t cntr_values_1;
2188 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
2189 ndr->depth++;
2190 ndr_print_uint32(ndr, "num_values", r->num_values);
2191 ndr_print_ptr(ndr, "values", r->values);
2192 ndr->depth++;
2193 if (r->values) {
2194 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
2195 ndr->depth++;
2196 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
2197 char *idx_1=NULL;
2198 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
2199 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
2200 free(idx_1);
2203 ndr->depth--;
2205 ndr->depth--;
2206 ndr->depth--;
2209 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2211 if (ndr_flags & NDR_SCALARS) {
2212 NDR_CHECK(ndr_push_align(ndr, 4));
2213 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2215 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2216 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2218 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2219 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2221 if (ndr_flags & NDR_BUFFERS) {
2222 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2224 return NDR_ERR_SUCCESS;
2227 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
2229 if (ndr_flags & NDR_SCALARS) {
2230 NDR_CHECK(ndr_pull_align(ndr, 4));
2231 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2232 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2233 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2234 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2235 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2236 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2237 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2239 if (ndr_flags & NDR_BUFFERS) {
2240 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2242 return NDR_ERR_SUCCESS;
2245 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2247 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
2248 ndr->depth++;
2249 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);
2250 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);
2251 ndr_print_GUID(ndr, "guid", &r->guid);
2252 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2253 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2254 ndr_print_string(ndr, "dn", r->dn);
2255 ndr->depth--;
2258 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags)
2260 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic);
2263 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2265 if (ndr_flags & NDR_SCALARS) {
2266 NDR_CHECK(ndr_push_align(ndr, 4));
2267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags)));
2268 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2269 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2270 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2271 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2272 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2273 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
2275 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2276 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2277 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
2278 ndr->flags = _flags_save_DATA_BLOB;
2280 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2282 if (ndr_flags & NDR_BUFFERS) {
2283 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2285 return NDR_ERR_SUCCESS;
2288 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2290 if (ndr_flags & NDR_SCALARS) {
2291 NDR_CHECK(ndr_pull_align(ndr, 4));
2292 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2293 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2294 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2295 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2296 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2297 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2298 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
2300 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2301 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2302 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
2303 ndr->flags = _flags_save_DATA_BLOB;
2305 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2307 if (ndr_flags & NDR_BUFFERS) {
2308 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2310 return NDR_ERR_SUCCESS;
2313 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2315 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2316 ndr->depth++;
2317 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
2318 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);
2319 ndr_print_GUID(ndr, "guid", &r->guid);
2320 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2321 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2322 ndr_print_string(ndr, "dn", r->dn);
2323 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2324 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2325 ndr->depth--;
2328 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2330 if (ndr_flags & NDR_SCALARS) {
2331 NDR_CHECK(ndr_push_align(ndr, 5));
2332 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2333 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2334 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2336 if (ndr_flags & NDR_BUFFERS) {
2337 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2339 return NDR_ERR_SUCCESS;
2342 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2344 if (ndr_flags & NDR_SCALARS) {
2345 NDR_CHECK(ndr_pull_align(ndr, 5));
2346 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2347 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2348 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2350 if (ndr_flags & NDR_BUFFERS) {
2351 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2353 return NDR_ERR_SUCCESS;
2356 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2358 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2359 ndr->depth++;
2360 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2361 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2362 ndr->depth--;
2365 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2367 uint32_t cntr_attributes_1;
2368 if (ndr_flags & NDR_SCALARS) {
2369 NDR_CHECK(ndr_push_align(ndr, 5));
2370 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2371 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2372 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2374 if (ndr_flags & NDR_BUFFERS) {
2375 if (r->attributes) {
2376 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
2377 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2378 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2380 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2381 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2385 return NDR_ERR_SUCCESS;
2388 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2390 uint32_t _ptr_attributes;
2391 uint32_t cntr_attributes_1;
2392 TALLOC_CTX *_mem_save_attributes_0;
2393 TALLOC_CTX *_mem_save_attributes_1;
2394 if (ndr_flags & NDR_SCALARS) {
2395 NDR_CHECK(ndr_pull_align(ndr, 5));
2396 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2397 if (r->num_attributes > 1048576) {
2398 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2400 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2401 if (_ptr_attributes) {
2402 NDR_PULL_ALLOC(ndr, r->attributes);
2403 } else {
2404 r->attributes = NULL;
2406 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2408 if (ndr_flags & NDR_BUFFERS) {
2409 if (r->attributes) {
2410 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2411 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2412 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2413 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes));
2414 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2415 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2416 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2417 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2419 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2420 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2422 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2423 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2425 if (r->attributes) {
2426 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2429 return NDR_ERR_SUCCESS;
2432 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2434 uint32_t cntr_attributes_1;
2435 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2436 ndr->depth++;
2437 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2438 ndr_print_ptr(ndr, "attributes", r->attributes);
2439 ndr->depth++;
2440 if (r->attributes) {
2441 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2442 ndr->depth++;
2443 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2444 char *idx_1=NULL;
2445 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2446 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2447 free(idx_1);
2450 ndr->depth--;
2452 ndr->depth--;
2453 ndr->depth--;
2456 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2458 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2459 return NDR_ERR_SUCCESS;
2462 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2464 uint32_t v;
2465 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2466 *r = v;
2467 return NDR_ERR_SUCCESS;
2470 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2472 ndr_print_uint32(ndr, name, r);
2473 ndr->depth++;
2474 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2475 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2476 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2477 ndr->depth--;
2480 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2482 if (ndr_flags & NDR_SCALARS) {
2483 NDR_CHECK(ndr_push_align(ndr, 5));
2484 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2485 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2486 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2487 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2489 if (ndr_flags & NDR_BUFFERS) {
2490 if (r->identifier) {
2491 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2493 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2495 return NDR_ERR_SUCCESS;
2498 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2500 uint32_t _ptr_identifier;
2501 TALLOC_CTX *_mem_save_identifier_0;
2502 if (ndr_flags & NDR_SCALARS) {
2503 NDR_CHECK(ndr_pull_align(ndr, 5));
2504 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2505 if (_ptr_identifier) {
2506 NDR_PULL_ALLOC(ndr, r->identifier);
2507 } else {
2508 r->identifier = NULL;
2510 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2511 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2512 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2514 if (ndr_flags & NDR_BUFFERS) {
2515 if (r->identifier) {
2516 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2517 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2518 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2519 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2521 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2523 return NDR_ERR_SUCCESS;
2526 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2528 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2529 ndr->depth++;
2530 ndr_print_ptr(ndr, "identifier", r->identifier);
2531 ndr->depth++;
2532 if (r->identifier) {
2533 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2535 ndr->depth--;
2536 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2537 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2538 ndr->depth--;
2541 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2543 if (ndr_flags & NDR_SCALARS) {
2544 NDR_CHECK(ndr_push_align(ndr, 8));
2545 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2546 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2547 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2548 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2549 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2551 if (ndr_flags & NDR_BUFFERS) {
2553 return NDR_ERR_SUCCESS;
2556 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2558 if (ndr_flags & NDR_SCALARS) {
2559 NDR_CHECK(ndr_pull_align(ndr, 8));
2560 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2561 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2562 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2563 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2564 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2566 if (ndr_flags & NDR_BUFFERS) {
2568 return NDR_ERR_SUCCESS;
2571 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2573 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2574 ndr->depth++;
2575 ndr_print_uint32(ndr, "version", r->version);
2576 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2577 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2578 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2579 ndr->depth--;
2582 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2584 uint32_t cntr_meta_data_0;
2585 if (ndr_flags & NDR_SCALARS) {
2586 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2587 NDR_CHECK(ndr_push_align(ndr, 8));
2588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2589 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2590 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2592 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2594 if (ndr_flags & NDR_BUFFERS) {
2596 return NDR_ERR_SUCCESS;
2599 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2601 uint32_t cntr_meta_data_0;
2602 TALLOC_CTX *_mem_save_meta_data_0;
2603 if (ndr_flags & NDR_SCALARS) {
2604 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2605 NDR_CHECK(ndr_pull_align(ndr, 8));
2606 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2607 if (r->count > 1048576) {
2608 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2610 NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data));
2611 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2612 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2613 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2614 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2616 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2617 if (r->meta_data) {
2618 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2620 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2622 if (ndr_flags & NDR_BUFFERS) {
2624 return NDR_ERR_SUCCESS;
2627 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2629 uint32_t cntr_meta_data_0;
2630 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2631 ndr->depth++;
2632 ndr_print_uint32(ndr, "count", r->count);
2633 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2634 ndr->depth++;
2635 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2636 char *idx_0=NULL;
2637 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2638 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2639 free(idx_0);
2642 ndr->depth--;
2643 ndr->depth--;
2646 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2648 if (ndr_flags & NDR_SCALARS) {
2649 NDR_CHECK(ndr_push_align(ndr, 5));
2650 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2651 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2652 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2653 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2654 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2655 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2657 if (ndr_flags & NDR_BUFFERS) {
2658 if (r->next_object) {
2659 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2661 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2662 if (r->parent_object_guid) {
2663 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2665 if (r->meta_data_ctr) {
2666 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2669 return NDR_ERR_SUCCESS;
2672 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2674 uint32_t _ptr_next_object;
2675 TALLOC_CTX *_mem_save_next_object_0;
2676 uint32_t _ptr_parent_object_guid;
2677 TALLOC_CTX *_mem_save_parent_object_guid_0;
2678 uint32_t _ptr_meta_data_ctr;
2679 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2680 if (ndr_flags & NDR_SCALARS) {
2681 NDR_CHECK(ndr_pull_align(ndr, 5));
2682 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2683 if (_ptr_next_object) {
2684 NDR_PULL_ALLOC(ndr, r->next_object);
2685 } else {
2686 r->next_object = NULL;
2688 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2689 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2690 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2691 if (_ptr_parent_object_guid) {
2692 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2693 } else {
2694 r->parent_object_guid = NULL;
2696 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2697 if (_ptr_meta_data_ctr) {
2698 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2699 } else {
2700 r->meta_data_ctr = NULL;
2702 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2704 if (ndr_flags & NDR_BUFFERS) {
2705 if (r->next_object) {
2706 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2707 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2708 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2709 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2711 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2712 if (r->parent_object_guid) {
2713 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2714 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2715 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2716 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2718 if (r->meta_data_ctr) {
2719 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2720 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2721 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2722 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2725 return NDR_ERR_SUCCESS;
2728 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2730 if (ndr_flags & NDR_SCALARS) {
2731 NDR_CHECK(ndr_push_align(ndr, 8));
2732 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2733 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2734 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2735 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2736 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2737 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2738 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2739 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2740 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2741 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55));
2742 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2743 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2744 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2746 if (ndr_flags & NDR_BUFFERS) {
2747 if (r->naming_context) {
2748 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2750 if (r->uptodateness_vector) {
2751 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2753 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2754 if (r->first_object) {
2755 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2758 return NDR_ERR_SUCCESS;
2761 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2763 uint32_t _ptr_naming_context;
2764 TALLOC_CTX *_mem_save_naming_context_0;
2765 uint32_t _ptr_uptodateness_vector;
2766 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2767 uint32_t _ptr_first_object;
2768 TALLOC_CTX *_mem_save_first_object_0;
2769 if (ndr_flags & NDR_SCALARS) {
2770 NDR_CHECK(ndr_pull_align(ndr, 8));
2771 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2772 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2773 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2774 if (_ptr_naming_context) {
2775 NDR_PULL_ALLOC(ndr, r->naming_context);
2776 } else {
2777 r->naming_context = NULL;
2779 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2780 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2781 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2782 if (_ptr_uptodateness_vector) {
2783 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2784 } else {
2785 r->uptodateness_vector = NULL;
2787 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2788 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2789 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2790 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2791 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2792 if (_ptr_first_object) {
2793 NDR_PULL_ALLOC(ndr, r->first_object);
2794 } else {
2795 r->first_object = NULL;
2797 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2798 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2800 if (ndr_flags & NDR_BUFFERS) {
2801 if (r->naming_context) {
2802 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2803 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2804 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2805 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2807 if (r->uptodateness_vector) {
2808 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2809 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2810 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2811 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2813 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2814 if (r->first_object) {
2815 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2816 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2817 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2818 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2821 return NDR_ERR_SUCCESS;
2824 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2826 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2827 ndr->depth++;
2828 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2829 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2830 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2831 ndr->depth++;
2832 if (r->naming_context) {
2833 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2835 ndr->depth--;
2836 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2837 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2838 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2839 ndr->depth++;
2840 if (r->uptodateness_vector) {
2841 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2843 ndr->depth--;
2844 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2845 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2846 ndr_print_uint32(ndr, "object_count", r->object_count);
2847 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);
2848 ndr_print_ptr(ndr, "first_object", r->first_object);
2849 ndr->depth++;
2850 if (r->first_object) {
2851 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2853 ndr->depth--;
2854 ndr_print_uint32(ndr, "more_data", r->more_data);
2855 ndr->depth--;
2858 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags)
2860 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic);
2863 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2865 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2866 return NDR_ERR_SUCCESS;
2869 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2871 uint32_t v;
2872 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2873 *r = v;
2874 return NDR_ERR_SUCCESS;
2877 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2879 ndr_print_uint32(ndr, name, r);
2880 ndr->depth++;
2881 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2882 ndr->depth--;
2885 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2887 if (ndr_flags & NDR_SCALARS) {
2888 NDR_CHECK(ndr_push_align(ndr, 8));
2889 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2890 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2891 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2892 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2893 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2894 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2895 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2897 if (ndr_flags & NDR_BUFFERS) {
2898 if (r->identifier) {
2899 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2901 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2903 return NDR_ERR_SUCCESS;
2906 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2908 uint32_t _ptr_identifier;
2909 TALLOC_CTX *_mem_save_identifier_0;
2910 if (ndr_flags & NDR_SCALARS) {
2911 NDR_CHECK(ndr_pull_align(ndr, 8));
2912 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2913 if (_ptr_identifier) {
2914 NDR_PULL_ALLOC(ndr, r->identifier);
2915 } else {
2916 r->identifier = NULL;
2918 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2919 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2920 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2921 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2922 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2923 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2925 if (ndr_flags & NDR_BUFFERS) {
2926 if (r->identifier) {
2927 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2928 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2929 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2930 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2932 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2934 return NDR_ERR_SUCCESS;
2937 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2939 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2940 ndr->depth++;
2941 ndr_print_ptr(ndr, "identifier", r->identifier);
2942 ndr->depth++;
2943 if (r->identifier) {
2944 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2946 ndr->depth--;
2947 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2948 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2949 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2950 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2951 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2952 ndr->depth--;
2955 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2957 uint32_t cntr_linked_attributes_1;
2958 if (ndr_flags & NDR_SCALARS) {
2959 NDR_CHECK(ndr_push_align(ndr, 8));
2960 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2961 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2962 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2963 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2964 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2965 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2966 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2967 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2968 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2969 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55));
2970 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2973 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2974 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2975 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2976 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2977 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2979 if (ndr_flags & NDR_BUFFERS) {
2980 if (r->naming_context) {
2981 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2983 if (r->uptodateness_vector) {
2984 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2986 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2987 if (r->first_object) {
2988 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2990 if (r->linked_attributes) {
2991 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
2992 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2993 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2995 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2996 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3000 return NDR_ERR_SUCCESS;
3003 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
3005 uint32_t _ptr_naming_context;
3006 TALLOC_CTX *_mem_save_naming_context_0;
3007 uint32_t _ptr_uptodateness_vector;
3008 TALLOC_CTX *_mem_save_uptodateness_vector_0;
3009 uint32_t _ptr_first_object;
3010 TALLOC_CTX *_mem_save_first_object_0;
3011 uint32_t _ptr_linked_attributes;
3012 uint32_t cntr_linked_attributes_1;
3013 TALLOC_CTX *_mem_save_linked_attributes_0;
3014 TALLOC_CTX *_mem_save_linked_attributes_1;
3015 if (ndr_flags & NDR_SCALARS) {
3016 NDR_CHECK(ndr_pull_align(ndr, 8));
3017 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
3018 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
3019 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
3020 if (_ptr_naming_context) {
3021 NDR_PULL_ALLOC(ndr, r->naming_context);
3022 } else {
3023 r->naming_context = NULL;
3025 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
3026 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
3027 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
3028 if (_ptr_uptodateness_vector) {
3029 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
3030 } else {
3031 r->uptodateness_vector = NULL;
3033 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
3034 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
3035 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
3036 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
3037 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
3038 if (_ptr_first_object) {
3039 NDR_PULL_ALLOC(ndr, r->first_object);
3040 } else {
3041 r->first_object = NULL;
3043 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
3044 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
3045 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
3046 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
3047 if (r->linked_attributes_count > 1048576) {
3048 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3050 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
3051 if (_ptr_linked_attributes) {
3052 NDR_PULL_ALLOC(ndr, r->linked_attributes);
3053 } else {
3054 r->linked_attributes = NULL;
3056 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
3057 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3059 if (ndr_flags & NDR_BUFFERS) {
3060 if (r->naming_context) {
3061 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3062 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3063 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3064 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3066 if (r->uptodateness_vector) {
3067 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
3068 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
3069 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
3070 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
3072 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3073 if (r->first_object) {
3074 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
3075 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
3076 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3077 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
3079 if (r->linked_attributes) {
3080 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
3081 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3082 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
3083 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes));
3084 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
3085 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3086 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3087 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3089 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3090 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3092 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
3093 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
3095 if (r->linked_attributes) {
3096 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
3099 return NDR_ERR_SUCCESS;
3102 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
3104 uint32_t cntr_linked_attributes_1;
3105 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
3106 ndr->depth++;
3107 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3108 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3109 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3110 ndr->depth++;
3111 if (r->naming_context) {
3112 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3114 ndr->depth--;
3115 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3116 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3117 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3118 ndr->depth++;
3119 if (r->uptodateness_vector) {
3120 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3122 ndr->depth--;
3123 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3124 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3125 ndr_print_uint32(ndr, "object_count", r->object_count);
3126 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);
3127 ndr_print_ptr(ndr, "first_object", r->first_object);
3128 ndr->depth++;
3129 if (r->first_object) {
3130 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3132 ndr->depth--;
3133 ndr_print_uint32(ndr, "more_data", r->more_data);
3134 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
3135 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
3136 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
3137 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
3138 ndr->depth++;
3139 if (r->linked_attributes) {
3140 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
3141 ndr->depth++;
3142 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
3143 char *idx_1=NULL;
3144 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
3145 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
3146 free(idx_1);
3149 ndr->depth--;
3151 ndr->depth--;
3152 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
3153 ndr->depth--;
3156 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags)
3158 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic);
3161 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3163 if (ndr_flags & NDR_SCALARS) {
3164 NDR_CHECK(ndr_push_align(ndr, 1));
3166 struct ndr_push *_ndr_ctr1;
3167 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3168 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3169 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3171 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3173 if (ndr_flags & NDR_BUFFERS) {
3175 return NDR_ERR_SUCCESS;
3178 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
3180 if (ndr_flags & NDR_SCALARS) {
3181 NDR_CHECK(ndr_pull_align(ndr, 1));
3183 struct ndr_pull *_ndr_ctr1;
3184 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3185 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3186 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3188 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3190 if (ndr_flags & NDR_BUFFERS) {
3192 return NDR_ERR_SUCCESS;
3195 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3197 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
3198 ndr->depth++;
3199 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3200 ndr->depth--;
3203 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3205 if (ndr_flags & NDR_SCALARS) {
3206 NDR_CHECK(ndr_push_align(ndr, 1));
3208 struct ndr_push *_ndr_ctr6;
3209 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3210 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3211 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3213 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3215 if (ndr_flags & NDR_BUFFERS) {
3217 return NDR_ERR_SUCCESS;
3220 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
3222 if (ndr_flags & NDR_SCALARS) {
3223 NDR_CHECK(ndr_pull_align(ndr, 1));
3225 struct ndr_pull *_ndr_ctr6;
3226 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3227 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3228 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3230 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3232 if (ndr_flags & NDR_BUFFERS) {
3234 return NDR_ERR_SUCCESS;
3237 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3239 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
3240 ndr->depth++;
3241 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3242 ndr->depth--;
3245 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3247 uint32_t _ptr_ts;
3248 TALLOC_CTX *_mem_save_ts_0;
3249 if (ndr_flags & NDR_SCALARS) {
3250 NDR_CHECK(ndr_pull_align(ndr, 5));
3251 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3252 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3253 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3254 if (_ptr_ts) {
3255 NDR_PULL_ALLOC(ndr, r->ts);
3256 } else {
3257 r->ts = NULL;
3259 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3261 if (ndr_flags & NDR_BUFFERS) {
3262 if (r->ts) {
3263 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3264 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3266 struct ndr_pull *_ndr_ts;
3267 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3269 struct ndr_pull *_ndr_ts_compressed;
3270 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3271 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3272 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3274 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3276 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3279 return NDR_ERR_SUCCESS;
3282 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3284 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
3285 ndr->depth++;
3286 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3287 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3288 ndr_print_ptr(ndr, "ts", r->ts);
3289 ndr->depth++;
3290 if (r->ts) {
3291 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3293 ndr->depth--;
3294 ndr->depth--;
3297 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3299 uint32_t _ptr_ts;
3300 TALLOC_CTX *_mem_save_ts_0;
3301 if (ndr_flags & NDR_SCALARS) {
3302 NDR_CHECK(ndr_pull_align(ndr, 5));
3303 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3304 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3305 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3306 if (_ptr_ts) {
3307 NDR_PULL_ALLOC(ndr, r->ts);
3308 } else {
3309 r->ts = NULL;
3311 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3313 if (ndr_flags & NDR_BUFFERS) {
3314 if (r->ts) {
3315 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3316 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3318 struct ndr_pull *_ndr_ts;
3319 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3321 struct ndr_pull *_ndr_ts_compressed;
3322 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3323 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3324 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3326 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3328 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3331 return NDR_ERR_SUCCESS;
3334 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3336 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3337 ndr->depth++;
3338 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3339 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3340 ndr_print_ptr(ndr, "ts", r->ts);
3341 ndr->depth++;
3342 if (r->ts) {
3343 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3345 ndr->depth--;
3346 ndr->depth--;
3349 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3351 uint32_t _ptr_ts;
3352 TALLOC_CTX *_mem_save_ts_0;
3353 if (ndr_flags & NDR_SCALARS) {
3354 NDR_CHECK(ndr_pull_align(ndr, 5));
3355 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3356 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3357 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3358 if (_ptr_ts) {
3359 NDR_PULL_ALLOC(ndr, r->ts);
3360 } else {
3361 r->ts = NULL;
3363 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3365 if (ndr_flags & NDR_BUFFERS) {
3366 if (r->ts) {
3367 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3368 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3370 struct ndr_pull *_ndr_ts;
3371 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3373 struct ndr_pull *_ndr_ts_compressed;
3374 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3375 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3376 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3378 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3380 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3383 return NDR_ERR_SUCCESS;
3386 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3388 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3389 ndr->depth++;
3390 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3391 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3392 ndr_print_ptr(ndr, "ts", r->ts);
3393 ndr->depth++;
3394 if (r->ts) {
3395 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3397 ndr->depth--;
3398 ndr->depth--;
3401 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3403 uint32_t _ptr_ts;
3404 TALLOC_CTX *_mem_save_ts_0;
3405 if (ndr_flags & NDR_SCALARS) {
3406 NDR_CHECK(ndr_pull_align(ndr, 5));
3407 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3408 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3409 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3410 if (_ptr_ts) {
3411 NDR_PULL_ALLOC(ndr, r->ts);
3412 } else {
3413 r->ts = NULL;
3415 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3417 if (ndr_flags & NDR_BUFFERS) {
3418 if (r->ts) {
3419 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3420 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3422 struct ndr_pull *_ndr_ts;
3423 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3425 struct ndr_pull *_ndr_ts_compressed;
3426 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3427 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3428 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3430 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3432 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3435 return NDR_ERR_SUCCESS;
3438 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3440 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3441 ndr->depth++;
3442 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3443 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3444 ndr_print_ptr(ndr, "ts", r->ts);
3445 ndr->depth++;
3446 if (r->ts) {
3447 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3449 ndr->depth--;
3450 ndr->depth--;
3453 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3455 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3456 return NDR_ERR_SUCCESS;
3459 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3461 uint16_t v;
3462 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3463 *r = v;
3464 return NDR_ERR_SUCCESS;
3467 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3469 const char *val = NULL;
3471 switch (r) {
3472 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3473 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3475 ndr_print_enum(ndr, name, "ENUM", val, r);
3478 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3481 uint32_t _flags_save_UNION = ndr->flags;
3482 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3483 if (ndr_flags & NDR_SCALARS) {
3484 int level = ndr_push_get_switch_value(ndr, r);
3485 NDR_CHECK(ndr_push_union_align(ndr, 5));
3486 switch (level) {
3487 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3488 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3489 break; }
3491 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3492 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3493 break; }
3495 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3496 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3497 break; }
3499 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3500 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3501 break; }
3503 default:
3504 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3507 if (ndr_flags & NDR_BUFFERS) {
3508 int level = ndr_push_get_switch_value(ndr, r);
3509 switch (level) {
3510 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3511 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3512 break;
3514 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3515 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3516 break;
3518 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3519 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3520 break;
3522 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3523 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3524 break;
3526 default:
3527 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3530 ndr->flags = _flags_save_UNION;
3532 return NDR_ERR_SUCCESS;
3535 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3537 int level;
3539 uint32_t _flags_save_UNION = ndr->flags;
3540 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3541 level = ndr_pull_get_switch_value(ndr, r);
3542 if (ndr_flags & NDR_SCALARS) {
3543 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3544 switch (level) {
3545 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3546 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3547 break; }
3549 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3550 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3551 break; }
3553 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3554 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3555 break; }
3557 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3558 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3559 break; }
3561 default:
3562 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3565 if (ndr_flags & NDR_BUFFERS) {
3566 switch (level) {
3567 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3568 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3569 break;
3571 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3572 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3573 break;
3575 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3576 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3577 break;
3579 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3580 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3581 break;
3583 default:
3584 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3587 ndr->flags = _flags_save_UNION;
3589 return NDR_ERR_SUCCESS;
3592 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3594 int level;
3596 uint32_t _flags_save_UNION = ndr->flags;
3597 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3598 level = ndr_print_get_switch_value(ndr, r);
3599 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3600 switch (level) {
3601 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3602 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3603 break;
3605 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3606 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3607 break;
3609 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3610 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3611 break;
3613 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3614 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3615 break;
3617 default:
3618 ndr_print_bad_level(ndr, name, level);
3620 ndr->flags = _flags_save_UNION;
3624 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3626 if (ndr_flags & NDR_SCALARS) {
3627 NDR_CHECK(ndr_push_align(ndr, 5));
3628 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3629 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3631 if (ndr_flags & NDR_BUFFERS) {
3632 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3634 return NDR_ERR_SUCCESS;
3637 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3639 if (ndr_flags & NDR_SCALARS) {
3640 NDR_CHECK(ndr_pull_align(ndr, 5));
3641 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3642 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3644 if (ndr_flags & NDR_BUFFERS) {
3645 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3647 return NDR_ERR_SUCCESS;
3650 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3652 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3653 ndr->depth++;
3654 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3655 ndr->depth--;
3658 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3660 if (ndr_flags & NDR_SCALARS) {
3661 NDR_CHECK(ndr_push_align(ndr, 5));
3662 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
3663 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3664 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3665 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3666 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3668 if (ndr_flags & NDR_BUFFERS) {
3669 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3671 return NDR_ERR_SUCCESS;
3674 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3676 if (ndr_flags & NDR_SCALARS) {
3677 NDR_CHECK(ndr_pull_align(ndr, 5));
3678 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
3679 if (r->level < 0 || r->level > 6) {
3680 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3682 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3683 if (r->type < 2 || r->type > 3) {
3684 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3686 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3687 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3688 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3690 if (ndr_flags & NDR_BUFFERS) {
3691 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3693 return NDR_ERR_SUCCESS;
3696 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3698 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3699 ndr->depth++;
3700 ndr_print_int32(ndr, "level", r->level);
3701 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3702 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3703 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3704 ndr->depth--;
3707 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3709 if (ndr_flags & NDR_SCALARS) {
3710 int level = ndr_push_get_switch_value(ndr, r);
3711 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3712 NDR_CHECK(ndr_push_union_align(ndr, 8));
3713 switch (level) {
3714 case 1: {
3715 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3716 break; }
3718 case 2: {
3719 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3720 break; }
3722 case 6: {
3723 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3724 break; }
3726 case 7: {
3727 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3728 break; }
3730 default:
3731 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3734 if (ndr_flags & NDR_BUFFERS) {
3735 int level = ndr_push_get_switch_value(ndr, r);
3736 switch (level) {
3737 case 1:
3738 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3739 break;
3741 case 2:
3742 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3743 break;
3745 case 6:
3746 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3747 break;
3749 case 7:
3750 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3751 break;
3753 default:
3754 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3757 return NDR_ERR_SUCCESS;
3760 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3762 int level;
3763 int32_t _level;
3764 level = ndr_pull_get_switch_value(ndr, r);
3765 if (ndr_flags & NDR_SCALARS) {
3766 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3767 if (_level != level) {
3768 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3770 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3771 switch (level) {
3772 case 1: {
3773 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3774 break; }
3776 case 2: {
3777 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3778 break; }
3780 case 6: {
3781 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3782 break; }
3784 case 7: {
3785 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3786 break; }
3788 default:
3789 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3792 if (ndr_flags & NDR_BUFFERS) {
3793 switch (level) {
3794 case 1:
3795 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3796 break;
3798 case 2:
3799 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3800 break;
3802 case 6:
3803 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3804 break;
3806 case 7:
3807 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3808 break;
3810 default:
3811 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3814 return NDR_ERR_SUCCESS;
3817 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3819 int level;
3820 level = ndr_print_get_switch_value(ndr, r);
3821 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3822 switch (level) {
3823 case 1:
3824 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3825 break;
3827 case 2:
3828 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3829 break;
3831 case 6:
3832 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3833 break;
3835 case 7:
3836 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3837 break;
3839 default:
3840 ndr_print_bad_level(ndr, name, level);
3844 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3846 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3847 return NDR_ERR_SUCCESS;
3850 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3852 uint32_t v;
3853 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3854 *r = v;
3855 return NDR_ERR_SUCCESS;
3858 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3860 ndr_print_uint32(ndr, name, r);
3861 ndr->depth++;
3862 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION, r);
3863 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK", DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK, r);
3864 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE, r);
3865 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE, r);
3866 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE, r);
3867 ndr->depth--;
3870 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3872 if (ndr_flags & NDR_SCALARS) {
3873 NDR_CHECK(ndr_push_align(ndr, 5));
3874 if (r->naming_context == NULL) {
3875 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3877 NDR_CHECK(ndr_push_ref_ptr(ndr));
3878 if (r->dest_dsa_dns_name == NULL) {
3879 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3881 NDR_CHECK(ndr_push_ref_ptr(ndr));
3882 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3883 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->options));
3884 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3886 if (ndr_flags & NDR_BUFFERS) {
3887 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3888 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3889 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3890 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3891 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));
3893 return NDR_ERR_SUCCESS;
3896 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3898 uint32_t _ptr_naming_context;
3899 TALLOC_CTX *_mem_save_naming_context_0;
3900 uint32_t _ptr_dest_dsa_dns_name;
3901 if (ndr_flags & NDR_SCALARS) {
3902 NDR_CHECK(ndr_pull_align(ndr, 5));
3903 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3904 if (_ptr_naming_context) {
3905 NDR_PULL_ALLOC(ndr, r->naming_context);
3906 } else {
3907 r->naming_context = NULL;
3909 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3910 if (_ptr_dest_dsa_dns_name) {
3911 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3912 } else {
3913 r->dest_dsa_dns_name = NULL;
3915 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3916 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->options));
3917 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3919 if (ndr_flags & NDR_BUFFERS) {
3920 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3921 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3922 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3923 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3924 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3925 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3926 if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) {
3927 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dest_dsa_dns_name), ndr_get_array_length(ndr, &r->dest_dsa_dns_name));
3929 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t)));
3930 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dest_dsa_dns_name, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t), CH_DOS));
3932 return NDR_ERR_SUCCESS;
3935 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3937 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3938 ndr->depth++;
3939 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3940 ndr->depth++;
3941 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3942 ndr->depth--;
3943 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3944 ndr->depth++;
3945 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3946 ndr->depth--;
3947 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3948 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "options", r->options);
3949 ndr->depth--;
3952 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3954 if (ndr_flags & NDR_SCALARS) {
3955 int level = ndr_push_get_switch_value(ndr, r);
3956 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3957 NDR_CHECK(ndr_push_union_align(ndr, 5));
3958 switch (level) {
3959 case 1: {
3960 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3961 break; }
3963 default:
3964 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3967 if (ndr_flags & NDR_BUFFERS) {
3968 int level = ndr_push_get_switch_value(ndr, r);
3969 switch (level) {
3970 case 1:
3971 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3972 break;
3974 default:
3975 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3978 return NDR_ERR_SUCCESS;
3981 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3983 int level;
3984 int32_t _level;
3985 level = ndr_pull_get_switch_value(ndr, r);
3986 if (ndr_flags & NDR_SCALARS) {
3987 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3988 if (_level != level) {
3989 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3991 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3992 switch (level) {
3993 case 1: {
3994 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3995 break; }
3997 default:
3998 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4001 if (ndr_flags & NDR_BUFFERS) {
4002 switch (level) {
4003 case 1:
4004 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
4005 break;
4007 default:
4008 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4011 return NDR_ERR_SUCCESS;
4014 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
4016 int level;
4017 level = ndr_print_get_switch_value(ndr, r);
4018 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
4019 switch (level) {
4020 case 1:
4021 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
4022 break;
4024 default:
4025 ndr_print_bad_level(ndr, name, level);
4029 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4031 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4032 return NDR_ERR_SUCCESS;
4035 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4037 uint32_t v;
4038 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4039 *r = v;
4040 return NDR_ERR_SUCCESS;
4043 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4045 ndr_print_uint32(ndr, name, r);
4046 ndr->depth++;
4047 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4048 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4049 ndr->depth--;
4052 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
4054 if (ndr_flags & NDR_SCALARS) {
4055 NDR_CHECK(ndr_push_align(ndr, 5));
4056 if (r->naming_context == NULL) {
4057 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4059 NDR_CHECK(ndr_push_ref_ptr(ndr));
4060 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4061 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4062 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
4063 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4065 if (ndr_flags & NDR_BUFFERS) {
4066 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4067 if (r->source_dsa_address) {
4068 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4069 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4070 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4071 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));
4074 return NDR_ERR_SUCCESS;
4077 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
4079 uint32_t _ptr_naming_context;
4080 TALLOC_CTX *_mem_save_naming_context_0;
4081 uint32_t _ptr_source_dsa_address;
4082 TALLOC_CTX *_mem_save_source_dsa_address_0;
4083 if (ndr_flags & NDR_SCALARS) {
4084 NDR_CHECK(ndr_pull_align(ndr, 5));
4085 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4086 if (_ptr_naming_context) {
4087 NDR_PULL_ALLOC(ndr, r->naming_context);
4088 } else {
4089 r->naming_context = NULL;
4091 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4092 if (_ptr_source_dsa_address) {
4093 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4094 } else {
4095 r->source_dsa_address = NULL;
4097 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4098 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
4099 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4101 if (ndr_flags & NDR_BUFFERS) {
4102 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4103 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4104 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4105 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4106 if (r->source_dsa_address) {
4107 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4108 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4109 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4110 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4111 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4112 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
4114 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4115 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
4116 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4119 return NDR_ERR_SUCCESS;
4122 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
4124 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
4125 ndr->depth++;
4126 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4127 ndr->depth++;
4128 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4129 ndr->depth--;
4130 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4131 ndr->depth++;
4132 if (r->source_dsa_address) {
4133 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4135 ndr->depth--;
4136 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4137 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
4138 ndr->depth--;
4141 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
4143 if (ndr_flags & NDR_SCALARS) {
4144 NDR_CHECK(ndr_push_align(ndr, 5));
4145 if (r->naming_context == NULL) {
4146 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4148 NDR_CHECK(ndr_push_ref_ptr(ndr));
4149 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
4150 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
4151 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4152 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4153 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
4154 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4156 if (ndr_flags & NDR_BUFFERS) {
4157 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4158 if (r->source_dsa_dn) {
4159 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4161 if (r->transport_dn) {
4162 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4164 if (r->source_dsa_address) {
4165 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4166 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4167 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4168 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));
4171 return NDR_ERR_SUCCESS;
4174 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
4176 uint32_t _ptr_naming_context;
4177 TALLOC_CTX *_mem_save_naming_context_0;
4178 uint32_t _ptr_source_dsa_dn;
4179 TALLOC_CTX *_mem_save_source_dsa_dn_0;
4180 uint32_t _ptr_transport_dn;
4181 TALLOC_CTX *_mem_save_transport_dn_0;
4182 uint32_t _ptr_source_dsa_address;
4183 TALLOC_CTX *_mem_save_source_dsa_address_0;
4184 if (ndr_flags & NDR_SCALARS) {
4185 NDR_CHECK(ndr_pull_align(ndr, 5));
4186 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4187 if (_ptr_naming_context) {
4188 NDR_PULL_ALLOC(ndr, r->naming_context);
4189 } else {
4190 r->naming_context = NULL;
4192 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
4193 if (_ptr_source_dsa_dn) {
4194 NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
4195 } else {
4196 r->source_dsa_dn = NULL;
4198 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
4199 if (_ptr_transport_dn) {
4200 NDR_PULL_ALLOC(ndr, r->transport_dn);
4201 } else {
4202 r->transport_dn = NULL;
4204 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4205 if (_ptr_source_dsa_address) {
4206 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4207 } else {
4208 r->source_dsa_address = NULL;
4210 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4211 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
4212 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4214 if (ndr_flags & NDR_BUFFERS) {
4215 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4216 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4217 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4218 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4219 if (r->source_dsa_dn) {
4220 _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4221 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
4222 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
4225 if (r->transport_dn) {
4226 _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4227 NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
4228 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4229 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
4231 if (r->source_dsa_address) {
4232 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4233 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4234 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4235 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4236 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4237 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
4239 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4240 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
4241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4244 return NDR_ERR_SUCCESS;
4247 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
4249 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
4250 ndr->depth++;
4251 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4252 ndr->depth++;
4253 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4254 ndr->depth--;
4255 ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
4256 ndr->depth++;
4257 if (r->source_dsa_dn) {
4258 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
4260 ndr->depth--;
4261 ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
4262 ndr->depth++;
4263 if (r->transport_dn) {
4264 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
4266 ndr->depth--;
4267 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4268 ndr->depth++;
4269 if (r->source_dsa_address) {
4270 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4272 ndr->depth--;
4273 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4274 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
4275 ndr->depth--;
4278 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
4280 if (ndr_flags & NDR_SCALARS) {
4281 int level = ndr_push_get_switch_value(ndr, r);
4282 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4283 NDR_CHECK(ndr_push_union_align(ndr, 5));
4284 switch (level) {
4285 case 1: {
4286 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4287 break; }
4289 case 2: {
4290 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4291 break; }
4293 default:
4294 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4297 if (ndr_flags & NDR_BUFFERS) {
4298 int level = ndr_push_get_switch_value(ndr, r);
4299 switch (level) {
4300 case 1:
4301 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4302 break;
4304 case 2:
4305 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4306 break;
4308 default:
4309 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4312 return NDR_ERR_SUCCESS;
4315 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
4317 int level;
4318 int32_t _level;
4319 level = ndr_pull_get_switch_value(ndr, r);
4320 if (ndr_flags & NDR_SCALARS) {
4321 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4322 if (_level != level) {
4323 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4325 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4326 switch (level) {
4327 case 1: {
4328 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4329 break; }
4331 case 2: {
4332 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4333 break; }
4335 default:
4336 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4339 if (ndr_flags & NDR_BUFFERS) {
4340 switch (level) {
4341 case 1:
4342 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4343 break;
4345 case 2:
4346 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4347 break;
4349 default:
4350 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4353 return NDR_ERR_SUCCESS;
4356 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4358 int level;
4359 level = ndr_print_get_switch_value(ndr, r);
4360 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4361 switch (level) {
4362 case 1:
4363 ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4364 break;
4366 case 2:
4367 ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4368 break;
4370 default:
4371 ndr_print_bad_level(ndr, name, level);
4375 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4378 return NDR_ERR_SUCCESS;
4381 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4383 uint32_t v;
4384 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4385 *r = v;
4386 return NDR_ERR_SUCCESS;
4389 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4391 ndr_print_uint32(ndr, name, r);
4392 ndr->depth++;
4393 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4394 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4395 ndr->depth--;
4398 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4400 if (ndr_flags & NDR_SCALARS) {
4401 NDR_CHECK(ndr_push_align(ndr, 5));
4402 if (r->naming_context == NULL) {
4403 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4405 NDR_CHECK(ndr_push_ref_ptr(ndr));
4406 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4407 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->options));
4408 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4410 if (ndr_flags & NDR_BUFFERS) {
4411 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4412 if (r->source_dsa_address) {
4413 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4414 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4415 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4416 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));
4419 return NDR_ERR_SUCCESS;
4422 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4424 uint32_t _ptr_naming_context;
4425 TALLOC_CTX *_mem_save_naming_context_0;
4426 uint32_t _ptr_source_dsa_address;
4427 TALLOC_CTX *_mem_save_source_dsa_address_0;
4428 if (ndr_flags & NDR_SCALARS) {
4429 NDR_CHECK(ndr_pull_align(ndr, 5));
4430 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4431 if (_ptr_naming_context) {
4432 NDR_PULL_ALLOC(ndr, r->naming_context);
4433 } else {
4434 r->naming_context = NULL;
4436 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4437 if (_ptr_source_dsa_address) {
4438 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4439 } else {
4440 r->source_dsa_address = NULL;
4442 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->options));
4443 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4445 if (ndr_flags & NDR_BUFFERS) {
4446 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4447 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4448 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4450 if (r->source_dsa_address) {
4451 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4452 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4453 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4454 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4455 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4456 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
4458 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4459 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
4460 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4463 return NDR_ERR_SUCCESS;
4466 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4468 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4469 ndr->depth++;
4470 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4471 ndr->depth++;
4472 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4473 ndr->depth--;
4474 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4475 ndr->depth++;
4476 if (r->source_dsa_address) {
4477 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4479 ndr->depth--;
4480 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "options", r->options);
4481 ndr->depth--;
4484 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4486 if (ndr_flags & NDR_SCALARS) {
4487 int level = ndr_push_get_switch_value(ndr, r);
4488 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4489 NDR_CHECK(ndr_push_union_align(ndr, 5));
4490 switch (level) {
4491 case 1: {
4492 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4493 break; }
4495 default:
4496 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4499 if (ndr_flags & NDR_BUFFERS) {
4500 int level = ndr_push_get_switch_value(ndr, r);
4501 switch (level) {
4502 case 1:
4503 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4504 break;
4506 default:
4507 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4510 return NDR_ERR_SUCCESS;
4513 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4515 int level;
4516 int32_t _level;
4517 level = ndr_pull_get_switch_value(ndr, r);
4518 if (ndr_flags & NDR_SCALARS) {
4519 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4520 if (_level != level) {
4521 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4523 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4524 switch (level) {
4525 case 1: {
4526 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4527 break; }
4529 default:
4530 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4533 if (ndr_flags & NDR_BUFFERS) {
4534 switch (level) {
4535 case 1:
4536 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4537 break;
4539 default:
4540 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4543 return NDR_ERR_SUCCESS;
4546 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4548 int level;
4549 level = ndr_print_get_switch_value(ndr, r);
4550 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4551 switch (level) {
4552 case 1:
4553 ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4554 break;
4556 default:
4557 ndr_print_bad_level(ndr, name, level);
4561 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4563 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4564 return NDR_ERR_SUCCESS;
4567 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4569 uint32_t v;
4570 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4571 *r = v;
4572 return NDR_ERR_SUCCESS;
4575 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4577 ndr_print_uint32(ndr, name, r);
4578 ndr->depth++;
4579 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4580 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4581 ndr->depth--;
4584 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4586 if (ndr_flags & NDR_SCALARS) {
4587 NDR_CHECK(ndr_push_align(ndr, 5));
4588 if (r->naming_context == NULL) {
4589 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4591 NDR_CHECK(ndr_push_ref_ptr(ndr));
4592 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4593 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4594 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags));
4596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4597 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->options));
4598 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4600 if (ndr_flags & NDR_BUFFERS) {
4601 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4602 if (r->source_dra_address) {
4603 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4604 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4605 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4606 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dra_address, ndr_charset_length(r->source_dra_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4609 return NDR_ERR_SUCCESS;
4612 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4614 uint32_t _ptr_naming_context;
4615 TALLOC_CTX *_mem_save_naming_context_0;
4616 uint32_t _ptr_source_dra_address;
4617 TALLOC_CTX *_mem_save_source_dra_address_0;
4618 if (ndr_flags & NDR_SCALARS) {
4619 NDR_CHECK(ndr_pull_align(ndr, 5));
4620 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4621 if (_ptr_naming_context) {
4622 NDR_PULL_ALLOC(ndr, r->naming_context);
4623 } else {
4624 r->naming_context = NULL;
4626 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4627 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4628 if (_ptr_source_dra_address) {
4629 NDR_PULL_ALLOC(ndr, r->source_dra_address);
4630 } else {
4631 r->source_dra_address = NULL;
4633 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4634 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags));
4635 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4636 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->options));
4637 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4639 if (ndr_flags & NDR_BUFFERS) {
4640 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4641 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4642 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4643 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4644 if (r->source_dra_address) {
4645 _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4646 NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4647 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4648 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4649 if (ndr_get_array_length(ndr, &r->source_dra_address) > ndr_get_array_size(ndr, &r->source_dra_address)) {
4650 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dra_address), ndr_get_array_length(ndr, &r->source_dra_address));
4652 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t)));
4653 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dra_address, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t), CH_UTF16));
4654 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4657 return NDR_ERR_SUCCESS;
4660 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4662 ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4663 ndr->depth++;
4664 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4665 ndr->depth++;
4666 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4667 ndr->depth--;
4668 ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4669 ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4670 ndr->depth++;
4671 if (r->source_dra_address) {
4672 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4674 ndr->depth--;
4675 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4676 ndr_print_uint32(ndr, "replica_flags", r->replica_flags);
4677 ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4678 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "options", r->options);
4679 ndr->depth--;
4682 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4684 if (ndr_flags & NDR_SCALARS) {
4685 int level = ndr_push_get_switch_value(ndr, r);
4686 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4687 NDR_CHECK(ndr_push_union_align(ndr, 5));
4688 switch (level) {
4689 case 1: {
4690 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4691 break; }
4693 default:
4694 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4697 if (ndr_flags & NDR_BUFFERS) {
4698 int level = ndr_push_get_switch_value(ndr, r);
4699 switch (level) {
4700 case 1:
4701 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4702 break;
4704 default:
4705 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4708 return NDR_ERR_SUCCESS;
4711 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4713 int level;
4714 int32_t _level;
4715 level = ndr_pull_get_switch_value(ndr, r);
4716 if (ndr_flags & NDR_SCALARS) {
4717 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4718 if (_level != level) {
4719 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4721 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4722 switch (level) {
4723 case 1: {
4724 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4725 break; }
4727 default:
4728 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4731 if (ndr_flags & NDR_BUFFERS) {
4732 switch (level) {
4733 case 1:
4734 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4735 break;
4737 default:
4738 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4741 return NDR_ERR_SUCCESS;
4744 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
4746 int level;
4747 level = ndr_print_get_switch_value(ndr, r);
4748 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
4749 switch (level) {
4750 case 1:
4751 ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
4752 break;
4754 default:
4755 ndr_print_bad_level(ndr, name, level);
4759 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
4761 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4762 return NDR_ERR_SUCCESS;
4765 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
4767 uint32_t v;
4768 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4769 *r = v;
4770 return NDR_ERR_SUCCESS;
4773 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
4775 const char *val = NULL;
4777 switch (r) {
4778 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4779 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4780 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4781 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4782 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4783 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4784 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4786 ndr_print_enum(ndr, name, "ENUM", val, r);
4789 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
4791 uint32_t cntr_info_array_1;
4792 uint32_t cntr_group_attrs_1;
4793 uint32_t cntr_sids_1;
4794 if (ndr_flags & NDR_SCALARS) {
4795 NDR_CHECK(ndr_push_align(ndr, 5));
4796 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4797 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4799 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4800 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
4801 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4802 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4804 if (ndr_flags & NDR_BUFFERS) {
4805 if (r->info_array) {
4806 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4807 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4808 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4810 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4811 if (r->info_array[cntr_info_array_1]) {
4812 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4816 if (r->group_attrs) {
4817 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4818 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4819 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
4822 if (r->sids) {
4823 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
4824 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4825 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
4827 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4828 if (r->sids[cntr_sids_1]) {
4829 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4834 return NDR_ERR_SUCCESS;
4837 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
4839 uint32_t _ptr_info_array;
4840 uint32_t cntr_info_array_1;
4841 TALLOC_CTX *_mem_save_info_array_0;
4842 TALLOC_CTX *_mem_save_info_array_1;
4843 TALLOC_CTX *_mem_save_info_array_2;
4844 uint32_t _ptr_group_attrs;
4845 uint32_t cntr_group_attrs_1;
4846 TALLOC_CTX *_mem_save_group_attrs_0;
4847 TALLOC_CTX *_mem_save_group_attrs_1;
4848 uint32_t _ptr_sids;
4849 uint32_t cntr_sids_1;
4850 TALLOC_CTX *_mem_save_sids_0;
4851 TALLOC_CTX *_mem_save_sids_1;
4852 TALLOC_CTX *_mem_save_sids_2;
4853 if (ndr_flags & NDR_SCALARS) {
4854 NDR_CHECK(ndr_pull_align(ndr, 5));
4855 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4856 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
4857 if (r->num_memberships > 10000) {
4858 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4860 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
4861 if (r->num_sids > 10000) {
4862 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4864 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4865 if (_ptr_info_array) {
4866 NDR_PULL_ALLOC(ndr, r->info_array);
4867 } else {
4868 r->info_array = NULL;
4870 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
4871 if (_ptr_group_attrs) {
4872 NDR_PULL_ALLOC(ndr, r->group_attrs);
4873 } else {
4874 r->group_attrs = NULL;
4876 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4877 if (_ptr_sids) {
4878 NDR_PULL_ALLOC(ndr, r->sids);
4879 } else {
4880 r->sids = NULL;
4882 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4884 if (ndr_flags & NDR_BUFFERS) {
4885 if (r->info_array) {
4886 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4887 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4888 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4889 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4890 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4891 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4892 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4893 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4894 if (_ptr_info_array) {
4895 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4896 } else {
4897 r->info_array[cntr_info_array_1] = NULL;
4900 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4901 if (r->info_array[cntr_info_array_1]) {
4902 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4903 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4904 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4905 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4908 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4909 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4911 if (r->group_attrs) {
4912 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
4913 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4914 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
4915 NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs));
4916 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
4917 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4918 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4919 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
4921 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
4922 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
4924 if (r->sids) {
4925 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4926 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4927 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4928 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
4929 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4930 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4931 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4932 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4933 if (_ptr_sids) {
4934 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
4935 } else {
4936 r->sids[cntr_sids_1] = NULL;
4939 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4940 if (r->sids[cntr_sids_1]) {
4941 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
4942 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
4943 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4944 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
4947 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4948 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4950 if (r->info_array) {
4951 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
4953 if (r->group_attrs) {
4954 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
4956 if (r->sids) {
4957 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
4960 return NDR_ERR_SUCCESS;
4963 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
4965 uint32_t cntr_info_array_1;
4966 uint32_t cntr_group_attrs_1;
4967 uint32_t cntr_sids_1;
4968 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
4969 ndr->depth++;
4970 ndr_print_NTSTATUS(ndr, "status", r->status);
4971 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
4972 ndr_print_uint32(ndr, "num_sids", r->num_sids);
4973 ndr_print_ptr(ndr, "info_array", r->info_array);
4974 ndr->depth++;
4975 if (r->info_array) {
4976 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
4977 ndr->depth++;
4978 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
4979 char *idx_1=NULL;
4980 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4981 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4982 ndr->depth++;
4983 if (r->info_array[cntr_info_array_1]) {
4984 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4986 ndr->depth--;
4987 free(idx_1);
4990 ndr->depth--;
4992 ndr->depth--;
4993 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
4994 ndr->depth++;
4995 if (r->group_attrs) {
4996 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
4997 ndr->depth++;
4998 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
4999 char *idx_1=NULL;
5000 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
5001 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
5002 free(idx_1);
5005 ndr->depth--;
5007 ndr->depth--;
5008 ndr_print_ptr(ndr, "sids", r->sids);
5009 ndr->depth++;
5010 if (r->sids) {
5011 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
5012 ndr->depth++;
5013 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
5014 char *idx_1=NULL;
5015 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
5016 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
5017 ndr->depth++;
5018 if (r->sids[cntr_sids_1]) {
5019 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
5021 ndr->depth--;
5022 free(idx_1);
5025 ndr->depth--;
5027 ndr->depth--;
5028 ndr->depth--;
5031 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
5033 if (ndr_flags & NDR_SCALARS) {
5034 int level = ndr_push_get_switch_value(ndr, r);
5035 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5036 NDR_CHECK(ndr_push_union_align(ndr, 5));
5037 switch (level) {
5038 case 1: {
5039 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5040 break; }
5042 default:
5043 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5046 if (ndr_flags & NDR_BUFFERS) {
5047 int level = ndr_push_get_switch_value(ndr, r);
5048 switch (level) {
5049 case 1:
5050 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5051 break;
5053 default:
5054 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5057 return NDR_ERR_SUCCESS;
5060 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
5062 int level;
5063 int32_t _level;
5064 level = ndr_pull_get_switch_value(ndr, r);
5065 if (ndr_flags & NDR_SCALARS) {
5066 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5067 if (_level != level) {
5068 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5070 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5071 switch (level) {
5072 case 1: {
5073 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5074 break; }
5076 default:
5077 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5080 if (ndr_flags & NDR_BUFFERS) {
5081 switch (level) {
5082 case 1:
5083 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5084 break;
5086 default:
5087 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5090 return NDR_ERR_SUCCESS;
5093 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
5095 int level;
5096 level = ndr_print_get_switch_value(ndr, r);
5097 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
5098 switch (level) {
5099 case 1:
5100 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
5101 break;
5103 default:
5104 ndr_print_bad_level(ndr, name, level);
5108 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
5110 uint32_t cntr_info_array_1;
5111 if (ndr_flags & NDR_SCALARS) {
5112 NDR_CHECK(ndr_push_align(ndr, 5));
5113 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5114 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
5115 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5116 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
5117 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5118 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5120 if (ndr_flags & NDR_BUFFERS) {
5121 if (r->info_array) {
5122 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5123 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5124 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
5126 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5127 if (r->info_array[cntr_info_array_1]) {
5128 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5132 if (r->domain) {
5133 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5136 return NDR_ERR_SUCCESS;
5139 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
5141 uint32_t _ptr_info_array;
5142 uint32_t cntr_info_array_1;
5143 TALLOC_CTX *_mem_save_info_array_0;
5144 TALLOC_CTX *_mem_save_info_array_1;
5145 TALLOC_CTX *_mem_save_info_array_2;
5146 uint32_t _ptr_domain;
5147 TALLOC_CTX *_mem_save_domain_0;
5148 if (ndr_flags & NDR_SCALARS) {
5149 NDR_CHECK(ndr_pull_align(ndr, 5));
5150 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5151 if (r->count < 1 || r->count > 10000) {
5152 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5154 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5155 if (_ptr_info_array) {
5156 NDR_PULL_ALLOC(ndr, r->info_array);
5157 } else {
5158 r->info_array = NULL;
5160 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5161 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
5162 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5163 if (_ptr_domain) {
5164 NDR_PULL_ALLOC(ndr, r->domain);
5165 } else {
5166 r->domain = NULL;
5168 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5170 if (ndr_flags & NDR_BUFFERS) {
5171 if (r->info_array) {
5172 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5173 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5174 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5175 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
5176 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5177 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5178 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5179 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5180 if (_ptr_info_array) {
5181 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5182 } else {
5183 r->info_array[cntr_info_array_1] = NULL;
5186 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5187 if (r->info_array[cntr_info_array_1]) {
5188 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5189 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5190 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5194 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5195 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5197 if (r->domain) {
5198 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5199 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5200 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5201 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5203 if (r->info_array) {
5204 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
5207 return NDR_ERR_SUCCESS;
5210 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
5212 uint32_t cntr_info_array_1;
5213 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
5214 ndr->depth++;
5215 ndr_print_uint32(ndr, "count", r->count);
5216 ndr_print_ptr(ndr, "info_array", r->info_array);
5217 ndr->depth++;
5218 if (r->info_array) {
5219 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
5220 ndr->depth++;
5221 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
5222 char *idx_1=NULL;
5223 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
5224 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5225 ndr->depth++;
5226 if (r->info_array[cntr_info_array_1]) {
5227 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5229 ndr->depth--;
5230 free(idx_1);
5233 ndr->depth--;
5235 ndr->depth--;
5236 ndr_print_uint32(ndr, "flags", r->flags);
5237 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
5238 ndr_print_ptr(ndr, "domain", r->domain);
5239 ndr->depth++;
5240 if (r->domain) {
5241 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
5243 ndr->depth--;
5244 ndr->depth--;
5247 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
5249 if (ndr_flags & NDR_SCALARS) {
5250 int level = ndr_push_get_switch_value(ndr, r);
5251 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5252 NDR_CHECK(ndr_push_union_align(ndr, 5));
5253 switch (level) {
5254 case 1: {
5255 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5256 break; }
5258 default:
5259 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5262 if (ndr_flags & NDR_BUFFERS) {
5263 int level = ndr_push_get_switch_value(ndr, r);
5264 switch (level) {
5265 case 1:
5266 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5267 break;
5269 default:
5270 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5273 return NDR_ERR_SUCCESS;
5276 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
5278 int level;
5279 int32_t _level;
5280 level = ndr_pull_get_switch_value(ndr, r);
5281 if (ndr_flags & NDR_SCALARS) {
5282 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5283 if (_level != level) {
5284 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5286 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5287 switch (level) {
5288 case 1: {
5289 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5290 break; }
5292 default:
5293 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5296 if (ndr_flags & NDR_BUFFERS) {
5297 switch (level) {
5298 case 1:
5299 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5300 break;
5302 default:
5303 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5306 return NDR_ERR_SUCCESS;
5309 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
5311 int level;
5312 level = ndr_print_get_switch_value(ndr, r);
5313 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
5314 switch (level) {
5315 case 1:
5316 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
5317 break;
5319 default:
5320 ndr_print_bad_level(ndr, name, level);
5324 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5326 if (ndr_flags & NDR_SCALARS) {
5327 NDR_CHECK(ndr_push_align(ndr, 5));
5328 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5329 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5331 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5332 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5334 if (ndr_flags & NDR_BUFFERS) {
5335 if (r->data) {
5336 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
5337 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5340 return NDR_ERR_SUCCESS;
5343 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5345 uint32_t _ptr_data;
5346 TALLOC_CTX *_mem_save_data_0;
5347 if (ndr_flags & NDR_SCALARS) {
5348 NDR_CHECK(ndr_pull_align(ndr, 5));
5349 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5350 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5351 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5352 if (r->length > 0x00A00000) {
5353 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5355 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5356 if (_ptr_data) {
5357 NDR_PULL_ALLOC(ndr, r->data);
5358 } else {
5359 r->data = NULL;
5361 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5363 if (ndr_flags & NDR_BUFFERS) {
5364 if (r->data) {
5365 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5366 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5367 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5368 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
5369 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
5370 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5372 if (r->data) {
5373 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5376 return NDR_ERR_SUCCESS;
5379 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5381 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5382 ndr->depth++;
5383 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5384 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5385 ndr_print_uint32(ndr, "length", r->length);
5386 ndr_print_ptr(ndr, "data", r->data);
5387 ndr->depth++;
5388 if (r->data) {
5389 ndr_print_array_uint8(ndr, "data", r->data, r->length);
5391 ndr->depth--;
5392 ndr->depth--;
5395 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5397 if (ndr_flags & NDR_SCALARS) {
5398 int level = ndr_push_get_switch_value(ndr, r);
5399 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5400 NDR_CHECK(ndr_push_union_align(ndr, 5));
5401 switch (level) {
5402 case 1: {
5403 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5404 break; }
5406 default:
5407 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5410 if (ndr_flags & NDR_BUFFERS) {
5411 int level = ndr_push_get_switch_value(ndr, r);
5412 switch (level) {
5413 case 1:
5414 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5415 break;
5417 default:
5418 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5421 return NDR_ERR_SUCCESS;
5424 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5426 int level;
5427 uint32_t _level;
5428 level = ndr_pull_get_switch_value(ndr, r);
5429 if (ndr_flags & NDR_SCALARS) {
5430 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5431 if (_level != level) {
5432 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5434 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5435 switch (level) {
5436 case 1: {
5437 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5438 break; }
5440 default:
5441 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5444 if (ndr_flags & NDR_BUFFERS) {
5445 switch (level) {
5446 case 1:
5447 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5448 break;
5450 default:
5451 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5454 return NDR_ERR_SUCCESS;
5457 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5459 int level;
5460 level = ndr_print_get_switch_value(ndr, r);
5461 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5462 switch (level) {
5463 case 1:
5464 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5465 break;
5467 default:
5468 ndr_print_bad_level(ndr, name, level);
5472 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5474 if (ndr_flags & NDR_SCALARS) {
5475 NDR_CHECK(ndr_push_align(ndr, 8));
5476 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
5477 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
5478 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
5479 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time2));
5480 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3));
5481 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time4));
5482 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5));
5483 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time6));
5484 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5485 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data1));
5486 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data2));
5487 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5489 if (ndr_flags & NDR_BUFFERS) {
5490 if (r->data1) {
5491 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length1));
5492 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data1, r->length1));
5494 if (r->data2) {
5495 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length2));
5496 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data2, r->length2));
5499 return NDR_ERR_SUCCESS;
5502 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5504 uint32_t _ptr_data1;
5505 TALLOC_CTX *_mem_save_data1_0;
5506 uint32_t _ptr_data2;
5507 TALLOC_CTX *_mem_save_data2_0;
5508 if (ndr_flags & NDR_SCALARS) {
5509 NDR_CHECK(ndr_pull_align(ndr, 8));
5510 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length1));
5511 if (r->length1 > 0x00A00000) {
5512 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5514 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length2));
5515 if (r->length2 > 0x00A00000) {
5516 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5518 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
5519 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time2));
5520 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3));
5521 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time4));
5522 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5));
5523 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time6));
5524 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5525 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data1));
5526 if (_ptr_data1) {
5527 NDR_PULL_ALLOC(ndr, r->data1);
5528 } else {
5529 r->data1 = NULL;
5531 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data2));
5532 if (_ptr_data2) {
5533 NDR_PULL_ALLOC(ndr, r->data2);
5534 } else {
5535 r->data2 = NULL;
5537 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5539 if (ndr_flags & NDR_BUFFERS) {
5540 if (r->data1) {
5541 _mem_save_data1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5542 NDR_PULL_SET_MEM_CTX(ndr, r->data1, 0);
5543 NDR_CHECK(ndr_pull_array_size(ndr, &r->data1));
5544 NDR_PULL_ALLOC_N(ndr, r->data1, ndr_get_array_size(ndr, &r->data1));
5545 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data1, ndr_get_array_size(ndr, &r->data1)));
5546 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data1_0, 0);
5548 if (r->data2) {
5549 _mem_save_data2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5550 NDR_PULL_SET_MEM_CTX(ndr, r->data2, 0);
5551 NDR_CHECK(ndr_pull_array_size(ndr, &r->data2));
5552 NDR_PULL_ALLOC_N(ndr, r->data2, ndr_get_array_size(ndr, &r->data2));
5553 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data2, ndr_get_array_size(ndr, &r->data2)));
5554 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data2_0, 0);
5556 if (r->data1) {
5557 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data1, r->length1));
5559 if (r->data2) {
5560 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data2, r->length2));
5563 return NDR_ERR_SUCCESS;
5566 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5568 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5569 ndr->depth++;
5570 ndr_print_uint32(ndr, "length1", r->length1);
5571 ndr_print_uint32(ndr, "length2", r->length2);
5572 ndr_print_hyper(ndr, "unknown1", r->unknown1);
5573 ndr_print_NTTIME(ndr, "time2", r->time2);
5574 ndr_print_hyper(ndr, "unknown3", r->unknown3);
5575 ndr_print_NTTIME(ndr, "time4", r->time4);
5576 ndr_print_hyper(ndr, "unknown5", r->unknown5);
5577 ndr_print_NTTIME(ndr, "time6", r->time6);
5578 ndr_print_NTSTATUS(ndr, "status", r->status);
5579 ndr_print_ptr(ndr, "data1", r->data1);
5580 ndr->depth++;
5581 if (r->data1) {
5582 ndr_print_array_uint8(ndr, "data1", r->data1, r->length1);
5584 ndr->depth--;
5585 ndr_print_ptr(ndr, "data2", r->data2);
5586 ndr->depth++;
5587 if (r->data2) {
5588 ndr_print_array_uint8(ndr, "data2", r->data2, r->length2);
5590 ndr->depth--;
5591 ndr->depth--;
5594 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5596 if (ndr_flags & NDR_SCALARS) {
5597 int level = ndr_push_get_switch_value(ndr, r);
5598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5599 NDR_CHECK(ndr_push_union_align(ndr, 8));
5600 switch (level) {
5601 case 1: {
5602 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5603 break; }
5605 default:
5606 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5609 if (ndr_flags & NDR_BUFFERS) {
5610 int level = ndr_push_get_switch_value(ndr, r);
5611 switch (level) {
5612 case 1:
5613 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5614 break;
5616 default:
5617 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5620 return NDR_ERR_SUCCESS;
5623 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5625 int level;
5626 uint32_t _level;
5627 level = ndr_pull_get_switch_value(ndr, r);
5628 if (ndr_flags & NDR_SCALARS) {
5629 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5630 if (_level != level) {
5631 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5633 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5634 switch (level) {
5635 case 1: {
5636 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5637 break; }
5639 default:
5640 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5643 if (ndr_flags & NDR_BUFFERS) {
5644 switch (level) {
5645 case 1:
5646 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5647 break;
5649 default:
5650 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5653 return NDR_ERR_SUCCESS;
5656 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5658 int level;
5659 level = ndr_print_get_switch_value(ndr, r);
5660 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5661 switch (level) {
5662 case 1:
5663 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5664 break;
5666 default:
5667 ndr_print_bad_level(ndr, name, level);
5671 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5673 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5674 return NDR_ERR_SUCCESS;
5677 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5679 uint32_t v;
5680 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5681 *r = v;
5682 return NDR_ERR_SUCCESS;
5685 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5687 const char *val = NULL;
5689 switch (r) {
5690 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5691 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5692 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5693 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5694 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5695 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5696 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5697 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5699 ndr_print_enum(ndr, name, "ENUM", val, r);
5702 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5704 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5705 return NDR_ERR_SUCCESS;
5708 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5710 uint32_t v;
5711 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5712 *r = v;
5713 return NDR_ERR_SUCCESS;
5716 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5718 const char *val = NULL;
5720 switch (r) {
5721 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5722 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5723 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5724 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5725 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5727 ndr_print_enum(ndr, name, "ENUM", val, r);
5730 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5732 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5733 return NDR_ERR_SUCCESS;
5736 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5738 uint32_t v;
5739 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5740 *r = v;
5741 return NDR_ERR_SUCCESS;
5744 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5746 const char *val = NULL;
5748 switch (r) {
5749 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5750 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5751 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5752 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5753 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5754 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5755 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5756 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5757 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5758 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5759 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5761 ndr_print_enum(ndr, name, "ENUM", val, r);
5764 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5766 if (ndr_flags & NDR_SCALARS) {
5767 NDR_CHECK(ndr_push_align(ndr, 5));
5768 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5769 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5771 if (ndr_flags & NDR_BUFFERS) {
5772 if (r->str) {
5773 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5774 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5775 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5776 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5779 return NDR_ERR_SUCCESS;
5782 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5784 uint32_t _ptr_str;
5785 TALLOC_CTX *_mem_save_str_0;
5786 if (ndr_flags & NDR_SCALARS) {
5787 NDR_CHECK(ndr_pull_align(ndr, 5));
5788 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5789 if (_ptr_str) {
5790 NDR_PULL_ALLOC(ndr, r->str);
5791 } else {
5792 r->str = NULL;
5794 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5796 if (ndr_flags & NDR_BUFFERS) {
5797 if (r->str) {
5798 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5799 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5800 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5801 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5802 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
5803 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->str), ndr_get_array_length(ndr, &r->str));
5805 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
5806 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
5807 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5810 return NDR_ERR_SUCCESS;
5813 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5815 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5816 ndr->depth++;
5817 ndr_print_ptr(ndr, "str", r->str);
5818 ndr->depth++;
5819 if (r->str) {
5820 ndr_print_string(ndr, "str", r->str);
5822 ndr->depth--;
5823 ndr->depth--;
5826 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5828 uint32_t cntr_names_1;
5829 if (ndr_flags & NDR_SCALARS) {
5830 NDR_CHECK(ndr_push_align(ndr, 5));
5831 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5832 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5833 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5834 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5835 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5837 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5838 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5840 if (ndr_flags & NDR_BUFFERS) {
5841 if (r->names) {
5842 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5843 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5844 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5846 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5847 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5851 return NDR_ERR_SUCCESS;
5854 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5856 uint32_t _ptr_names;
5857 uint32_t cntr_names_1;
5858 TALLOC_CTX *_mem_save_names_0;
5859 TALLOC_CTX *_mem_save_names_1;
5860 if (ndr_flags & NDR_SCALARS) {
5861 NDR_CHECK(ndr_pull_align(ndr, 5));
5862 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5863 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5864 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5865 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5866 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5867 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5868 if (r->count < 1 || r->count > 10000) {
5869 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5871 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5872 if (_ptr_names) {
5873 NDR_PULL_ALLOC(ndr, r->names);
5874 } else {
5875 r->names = NULL;
5877 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5879 if (ndr_flags & NDR_BUFFERS) {
5880 if (r->names) {
5881 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5882 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5883 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
5884 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
5885 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5886 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5887 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5888 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5890 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5891 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5893 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
5894 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
5896 if (r->names) {
5897 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
5900 return NDR_ERR_SUCCESS;
5903 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
5905 uint32_t cntr_names_1;
5906 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
5907 ndr->depth++;
5908 ndr_print_uint32(ndr, "codepage", r->codepage);
5909 ndr_print_uint32(ndr, "language", r->language);
5910 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
5911 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
5912 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
5913 ndr_print_uint32(ndr, "count", r->count);
5914 ndr_print_ptr(ndr, "names", r->names);
5915 ndr->depth++;
5916 if (r->names) {
5917 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
5918 ndr->depth++;
5919 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
5920 char *idx_1=NULL;
5921 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
5922 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
5923 free(idx_1);
5926 ndr->depth--;
5928 ndr->depth--;
5929 ndr->depth--;
5932 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
5934 if (ndr_flags & NDR_SCALARS) {
5935 int level = ndr_push_get_switch_value(ndr, r);
5936 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5937 NDR_CHECK(ndr_push_union_align(ndr, 5));
5938 switch (level) {
5939 case 1: {
5940 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5941 break; }
5943 default:
5944 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5947 if (ndr_flags & NDR_BUFFERS) {
5948 int level = ndr_push_get_switch_value(ndr, r);
5949 switch (level) {
5950 case 1:
5951 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5952 break;
5954 default:
5955 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5958 return NDR_ERR_SUCCESS;
5961 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
5963 int level;
5964 int32_t _level;
5965 level = ndr_pull_get_switch_value(ndr, r);
5966 if (ndr_flags & NDR_SCALARS) {
5967 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5968 if (_level != level) {
5969 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5971 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5972 switch (level) {
5973 case 1: {
5974 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5975 break; }
5977 default:
5978 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5981 if (ndr_flags & NDR_BUFFERS) {
5982 switch (level) {
5983 case 1:
5984 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5985 break;
5987 default:
5988 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5991 return NDR_ERR_SUCCESS;
5994 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
5996 int level;
5997 level = ndr_print_get_switch_value(ndr, r);
5998 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
5999 switch (level) {
6000 case 1:
6001 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
6002 break;
6004 default:
6005 ndr_print_bad_level(ndr, name, level);
6009 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
6011 if (ndr_flags & NDR_SCALARS) {
6012 NDR_CHECK(ndr_push_align(ndr, 5));
6013 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
6014 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
6015 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
6016 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6018 if (ndr_flags & NDR_BUFFERS) {
6019 if (r->dns_domain_name) {
6020 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
6021 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6022 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
6023 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));
6025 if (r->result_name) {
6026 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
6027 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6028 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
6029 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6032 return NDR_ERR_SUCCESS;
6035 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
6037 uint32_t _ptr_dns_domain_name;
6038 TALLOC_CTX *_mem_save_dns_domain_name_0;
6039 uint32_t _ptr_result_name;
6040 TALLOC_CTX *_mem_save_result_name_0;
6041 if (ndr_flags & NDR_SCALARS) {
6042 NDR_CHECK(ndr_pull_align(ndr, 5));
6043 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
6044 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
6045 if (_ptr_dns_domain_name) {
6046 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
6047 } else {
6048 r->dns_domain_name = NULL;
6050 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
6051 if (_ptr_result_name) {
6052 NDR_PULL_ALLOC(ndr, r->result_name);
6053 } else {
6054 r->result_name = NULL;
6056 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6058 if (ndr_flags & NDR_BUFFERS) {
6059 if (r->dns_domain_name) {
6060 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6061 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
6062 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
6063 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
6064 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
6065 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_domain_name), ndr_get_array_length(ndr, &r->dns_domain_name));
6067 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
6068 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain_name, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t), CH_UTF16));
6069 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
6071 if (r->result_name) {
6072 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6073 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
6074 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
6075 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
6076 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
6077 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->result_name), ndr_get_array_length(ndr, &r->result_name));
6079 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
6080 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
6081 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
6084 return NDR_ERR_SUCCESS;
6087 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
6089 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
6090 ndr->depth++;
6091 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
6092 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
6093 ndr->depth++;
6094 if (r->dns_domain_name) {
6095 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
6097 ndr->depth--;
6098 ndr_print_ptr(ndr, "result_name", r->result_name);
6099 ndr->depth++;
6100 if (r->result_name) {
6101 ndr_print_string(ndr, "result_name", r->result_name);
6103 ndr->depth--;
6104 ndr->depth--;
6107 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
6109 uint32_t cntr_array_1;
6110 if (ndr_flags & NDR_SCALARS) {
6111 NDR_CHECK(ndr_push_align(ndr, 5));
6112 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6113 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6114 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6116 if (ndr_flags & NDR_BUFFERS) {
6117 if (r->array) {
6118 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6119 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6120 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6122 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6123 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6127 return NDR_ERR_SUCCESS;
6130 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
6132 uint32_t _ptr_array;
6133 uint32_t cntr_array_1;
6134 TALLOC_CTX *_mem_save_array_0;
6135 TALLOC_CTX *_mem_save_array_1;
6136 if (ndr_flags & NDR_SCALARS) {
6137 NDR_CHECK(ndr_pull_align(ndr, 5));
6138 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6139 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6140 if (_ptr_array) {
6141 NDR_PULL_ALLOC(ndr, r->array);
6142 } else {
6143 r->array = NULL;
6145 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6147 if (ndr_flags & NDR_BUFFERS) {
6148 if (r->array) {
6149 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6150 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6151 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6152 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6153 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6154 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6155 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6156 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6158 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6159 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6161 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6164 if (r->array) {
6165 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6168 return NDR_ERR_SUCCESS;
6171 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6173 uint32_t cntr_array_1;
6174 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6175 ndr->depth++;
6176 ndr_print_uint32(ndr, "count", r->count);
6177 ndr_print_ptr(ndr, "array", r->array);
6178 ndr->depth++;
6179 if (r->array) {
6180 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6181 ndr->depth++;
6182 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6183 char *idx_1=NULL;
6184 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6185 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6186 free(idx_1);
6189 ndr->depth--;
6191 ndr->depth--;
6192 ndr->depth--;
6195 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6197 if (ndr_flags & NDR_SCALARS) {
6198 int level = ndr_push_get_switch_value(ndr, r);
6199 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6200 NDR_CHECK(ndr_push_union_align(ndr, 5));
6201 switch (level) {
6202 case 1: {
6203 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6204 break; }
6206 default:
6207 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6210 if (ndr_flags & NDR_BUFFERS) {
6211 int level = ndr_push_get_switch_value(ndr, r);
6212 switch (level) {
6213 case 1:
6214 if (r->ctr1) {
6215 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6217 break;
6219 default:
6220 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6223 return NDR_ERR_SUCCESS;
6226 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6228 int level;
6229 int32_t _level;
6230 TALLOC_CTX *_mem_save_ctr1_0;
6231 level = ndr_pull_get_switch_value(ndr, r);
6232 if (ndr_flags & NDR_SCALARS) {
6233 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6234 if (_level != level) {
6235 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6237 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6238 switch (level) {
6239 case 1: {
6240 uint32_t _ptr_ctr1;
6241 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6242 if (_ptr_ctr1) {
6243 NDR_PULL_ALLOC(ndr, r->ctr1);
6244 } else {
6245 r->ctr1 = NULL;
6247 break; }
6249 default:
6250 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6253 if (ndr_flags & NDR_BUFFERS) {
6254 switch (level) {
6255 case 1:
6256 if (r->ctr1) {
6257 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6258 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6259 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6260 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6262 break;
6264 default:
6265 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6268 return NDR_ERR_SUCCESS;
6271 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6273 int level;
6274 level = ndr_print_get_switch_value(ndr, r);
6275 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6276 switch (level) {
6277 case 1:
6278 ndr_print_ptr(ndr, "ctr1", r->ctr1);
6279 ndr->depth++;
6280 if (r->ctr1) {
6281 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6283 ndr->depth--;
6284 break;
6286 default:
6287 ndr_print_bad_level(ndr, name, level);
6291 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6293 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6294 return NDR_ERR_SUCCESS;
6297 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6299 uint32_t v;
6300 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6301 *r = v;
6302 return NDR_ERR_SUCCESS;
6305 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6307 const char *val = NULL;
6309 switch (r) {
6310 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6311 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6312 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6314 ndr_print_enum(ndr, name, "ENUM", val, r);
6317 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6319 uint32_t cntr_spn_names_1;
6320 if (ndr_flags & NDR_SCALARS) {
6321 NDR_CHECK(ndr_push_align(ndr, 5));
6322 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6323 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6324 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6325 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6326 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6327 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6329 if (ndr_flags & NDR_BUFFERS) {
6330 if (r->object_dn) {
6331 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6332 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6333 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6334 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6336 if (r->spn_names) {
6337 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6338 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6339 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6341 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6342 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6346 return NDR_ERR_SUCCESS;
6349 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6351 uint32_t _ptr_object_dn;
6352 TALLOC_CTX *_mem_save_object_dn_0;
6353 uint32_t _ptr_spn_names;
6354 uint32_t cntr_spn_names_1;
6355 TALLOC_CTX *_mem_save_spn_names_0;
6356 TALLOC_CTX *_mem_save_spn_names_1;
6357 if (ndr_flags & NDR_SCALARS) {
6358 NDR_CHECK(ndr_pull_align(ndr, 5));
6359 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6360 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6361 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6362 if (_ptr_object_dn) {
6363 NDR_PULL_ALLOC(ndr, r->object_dn);
6364 } else {
6365 r->object_dn = NULL;
6367 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6368 if (r->count > 10000) {
6369 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6371 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6372 if (_ptr_spn_names) {
6373 NDR_PULL_ALLOC(ndr, r->spn_names);
6374 } else {
6375 r->spn_names = NULL;
6377 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6379 if (ndr_flags & NDR_BUFFERS) {
6380 if (r->object_dn) {
6381 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6382 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6383 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6384 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6385 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
6386 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
6388 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
6389 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
6390 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6392 if (r->spn_names) {
6393 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6394 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6395 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6396 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
6397 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6398 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6399 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6400 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6402 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6403 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6405 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6406 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6408 if (r->spn_names) {
6409 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6412 return NDR_ERR_SUCCESS;
6415 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6417 uint32_t cntr_spn_names_1;
6418 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6419 ndr->depth++;
6420 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6421 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6422 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6423 ndr->depth++;
6424 if (r->object_dn) {
6425 ndr_print_string(ndr, "object_dn", r->object_dn);
6427 ndr->depth--;
6428 ndr_print_uint32(ndr, "count", r->count);
6429 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6430 ndr->depth++;
6431 if (r->spn_names) {
6432 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6433 ndr->depth++;
6434 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6435 char *idx_1=NULL;
6436 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
6437 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6438 free(idx_1);
6441 ndr->depth--;
6443 ndr->depth--;
6444 ndr->depth--;
6447 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6449 if (ndr_flags & NDR_SCALARS) {
6450 int level = ndr_push_get_switch_value(ndr, r);
6451 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6452 NDR_CHECK(ndr_push_union_align(ndr, 5));
6453 switch (level) {
6454 case 1: {
6455 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6456 break; }
6458 default:
6459 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6462 if (ndr_flags & NDR_BUFFERS) {
6463 int level = ndr_push_get_switch_value(ndr, r);
6464 switch (level) {
6465 case 1:
6466 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6467 break;
6469 default:
6470 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6473 return NDR_ERR_SUCCESS;
6476 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6478 int level;
6479 int32_t _level;
6480 level = ndr_pull_get_switch_value(ndr, r);
6481 if (ndr_flags & NDR_SCALARS) {
6482 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6483 if (_level != level) {
6484 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6486 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6487 switch (level) {
6488 case 1: {
6489 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6490 break; }
6492 default:
6493 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6496 if (ndr_flags & NDR_BUFFERS) {
6497 switch (level) {
6498 case 1:
6499 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6500 break;
6502 default:
6503 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6506 return NDR_ERR_SUCCESS;
6509 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6511 int level;
6512 level = ndr_print_get_switch_value(ndr, r);
6513 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6514 switch (level) {
6515 case 1:
6516 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6517 break;
6519 default:
6520 ndr_print_bad_level(ndr, name, level);
6524 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6526 if (ndr_flags & NDR_SCALARS) {
6527 NDR_CHECK(ndr_push_align(ndr, 4));
6528 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6529 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6531 if (ndr_flags & NDR_BUFFERS) {
6533 return NDR_ERR_SUCCESS;
6536 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6538 if (ndr_flags & NDR_SCALARS) {
6539 NDR_CHECK(ndr_pull_align(ndr, 4));
6540 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6541 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6543 if (ndr_flags & NDR_BUFFERS) {
6545 return NDR_ERR_SUCCESS;
6548 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6550 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6551 ndr->depth++;
6552 ndr_print_WERROR(ndr, "status", r->status);
6553 ndr->depth--;
6556 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6558 if (ndr_flags & NDR_SCALARS) {
6559 int level = ndr_push_get_switch_value(ndr, r);
6560 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6561 NDR_CHECK(ndr_push_union_align(ndr, 4));
6562 switch (level) {
6563 case 1: {
6564 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6565 break; }
6567 default:
6568 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6571 if (ndr_flags & NDR_BUFFERS) {
6572 int level = ndr_push_get_switch_value(ndr, r);
6573 switch (level) {
6574 case 1:
6575 break;
6577 default:
6578 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6581 return NDR_ERR_SUCCESS;
6584 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6586 int level;
6587 int32_t _level;
6588 level = ndr_pull_get_switch_value(ndr, r);
6589 if (ndr_flags & NDR_SCALARS) {
6590 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6591 if (_level != level) {
6592 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6594 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6595 switch (level) {
6596 case 1: {
6597 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6598 break; }
6600 default:
6601 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6604 if (ndr_flags & NDR_BUFFERS) {
6605 switch (level) {
6606 case 1:
6607 break;
6609 default:
6610 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6613 return NDR_ERR_SUCCESS;
6616 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6618 int level;
6619 level = ndr_print_get_switch_value(ndr, r);
6620 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6621 switch (level) {
6622 case 1:
6623 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6624 break;
6626 default:
6627 ndr_print_bad_level(ndr, name, level);
6631 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6633 if (ndr_flags & NDR_SCALARS) {
6634 NDR_CHECK(ndr_push_align(ndr, 5));
6635 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6636 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6637 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6638 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6640 if (ndr_flags & NDR_BUFFERS) {
6641 if (r->server_dn) {
6642 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6643 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6644 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6645 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6647 if (r->domain_dn) {
6648 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6649 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6650 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6651 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6654 return NDR_ERR_SUCCESS;
6657 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6659 uint32_t _ptr_server_dn;
6660 TALLOC_CTX *_mem_save_server_dn_0;
6661 uint32_t _ptr_domain_dn;
6662 TALLOC_CTX *_mem_save_domain_dn_0;
6663 if (ndr_flags & NDR_SCALARS) {
6664 NDR_CHECK(ndr_pull_align(ndr, 5));
6665 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6666 if (_ptr_server_dn) {
6667 NDR_PULL_ALLOC(ndr, r->server_dn);
6668 } else {
6669 r->server_dn = NULL;
6671 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6672 if (_ptr_domain_dn) {
6673 NDR_PULL_ALLOC(ndr, r->domain_dn);
6674 } else {
6675 r->domain_dn = NULL;
6677 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6678 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6680 if (ndr_flags & NDR_BUFFERS) {
6681 if (r->server_dn) {
6682 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6683 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6684 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6685 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6686 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6687 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
6689 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6690 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6693 if (r->domain_dn) {
6694 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6695 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6696 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6697 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6698 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
6699 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_dn), ndr_get_array_length(ndr, &r->domain_dn));
6701 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
6702 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
6703 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6706 return NDR_ERR_SUCCESS;
6709 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6711 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6712 ndr->depth++;
6713 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6714 ndr->depth++;
6715 if (r->server_dn) {
6716 ndr_print_string(ndr, "server_dn", r->server_dn);
6718 ndr->depth--;
6719 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6720 ndr->depth++;
6721 if (r->domain_dn) {
6722 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6724 ndr->depth--;
6725 ndr_print_uint32(ndr, "commit", r->commit);
6726 ndr->depth--;
6729 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6731 if (ndr_flags & NDR_SCALARS) {
6732 int level = ndr_push_get_switch_value(ndr, r);
6733 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6734 NDR_CHECK(ndr_push_union_align(ndr, 5));
6735 switch (level) {
6736 case 1: {
6737 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6738 break; }
6740 default:
6741 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6744 if (ndr_flags & NDR_BUFFERS) {
6745 int level = ndr_push_get_switch_value(ndr, r);
6746 switch (level) {
6747 case 1:
6748 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6749 break;
6751 default:
6752 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6755 return NDR_ERR_SUCCESS;
6758 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6760 int level;
6761 int32_t _level;
6762 level = ndr_pull_get_switch_value(ndr, r);
6763 if (ndr_flags & NDR_SCALARS) {
6764 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6765 if (_level != level) {
6766 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6768 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6769 switch (level) {
6770 case 1: {
6771 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6772 break; }
6774 default:
6775 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6778 if (ndr_flags & NDR_BUFFERS) {
6779 switch (level) {
6780 case 1:
6781 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6782 break;
6784 default:
6785 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6788 return NDR_ERR_SUCCESS;
6791 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6793 int level;
6794 level = ndr_print_get_switch_value(ndr, r);
6795 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6796 switch (level) {
6797 case 1:
6798 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6799 break;
6801 default:
6802 ndr_print_bad_level(ndr, name, level);
6806 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6808 if (ndr_flags & NDR_SCALARS) {
6809 NDR_CHECK(ndr_push_align(ndr, 4));
6810 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6811 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6813 if (ndr_flags & NDR_BUFFERS) {
6815 return NDR_ERR_SUCCESS;
6818 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6820 if (ndr_flags & NDR_SCALARS) {
6821 NDR_CHECK(ndr_pull_align(ndr, 4));
6822 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6823 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6825 if (ndr_flags & NDR_BUFFERS) {
6827 return NDR_ERR_SUCCESS;
6830 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6832 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
6833 ndr->depth++;
6834 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
6835 ndr->depth--;
6838 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
6840 if (ndr_flags & NDR_SCALARS) {
6841 int level = ndr_push_get_switch_value(ndr, r);
6842 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6843 NDR_CHECK(ndr_push_union_align(ndr, 4));
6844 switch (level) {
6845 case 1: {
6846 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6847 break; }
6849 default:
6850 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6853 if (ndr_flags & NDR_BUFFERS) {
6854 int level = ndr_push_get_switch_value(ndr, r);
6855 switch (level) {
6856 case 1:
6857 break;
6859 default:
6860 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6863 return NDR_ERR_SUCCESS;
6866 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
6868 int level;
6869 int32_t _level;
6870 level = ndr_pull_get_switch_value(ndr, r);
6871 if (ndr_flags & NDR_SCALARS) {
6872 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6873 if (_level != level) {
6874 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6876 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6877 switch (level) {
6878 case 1: {
6879 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6880 break; }
6882 default:
6883 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6886 if (ndr_flags & NDR_BUFFERS) {
6887 switch (level) {
6888 case 1:
6889 break;
6891 default:
6892 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6895 return NDR_ERR_SUCCESS;
6898 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
6900 int level;
6901 level = ndr_print_get_switch_value(ndr, r);
6902 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
6903 switch (level) {
6904 case 1:
6905 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
6906 break;
6908 default:
6909 ndr_print_bad_level(ndr, name, level);
6913 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
6915 if (ndr_flags & NDR_SCALARS) {
6916 NDR_CHECK(ndr_push_align(ndr, 5));
6917 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6918 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
6919 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6921 if (ndr_flags & NDR_BUFFERS) {
6922 if (r->domain_name) {
6923 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6924 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6925 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6926 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6929 return NDR_ERR_SUCCESS;
6932 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
6934 uint32_t _ptr_domain_name;
6935 TALLOC_CTX *_mem_save_domain_name_0;
6936 if (ndr_flags & NDR_SCALARS) {
6937 NDR_CHECK(ndr_pull_align(ndr, 5));
6938 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6939 if (_ptr_domain_name) {
6940 NDR_PULL_ALLOC(ndr, r->domain_name);
6941 } else {
6942 r->domain_name = NULL;
6944 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
6945 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6947 if (ndr_flags & NDR_BUFFERS) {
6948 if (r->domain_name) {
6949 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6950 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6951 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6952 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6953 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6954 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));
6956 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6957 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6958 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6961 return NDR_ERR_SUCCESS;
6964 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
6966 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
6967 ndr->depth++;
6968 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6969 ndr->depth++;
6970 if (r->domain_name) {
6971 ndr_print_string(ndr, "domain_name", r->domain_name);
6973 ndr->depth--;
6974 ndr_print_int32(ndr, "level", r->level);
6975 ndr->depth--;
6978 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
6980 if (ndr_flags & NDR_SCALARS) {
6981 int level = ndr_push_get_switch_value(ndr, r);
6982 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6983 NDR_CHECK(ndr_push_union_align(ndr, 5));
6984 switch (level) {
6985 case 1: {
6986 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6987 break; }
6989 default:
6990 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6993 if (ndr_flags & NDR_BUFFERS) {
6994 int level = ndr_push_get_switch_value(ndr, r);
6995 switch (level) {
6996 case 1:
6997 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6998 break;
7000 default:
7001 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7004 return NDR_ERR_SUCCESS;
7007 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
7009 int level;
7010 int32_t _level;
7011 level = ndr_pull_get_switch_value(ndr, r);
7012 if (ndr_flags & NDR_SCALARS) {
7013 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
7014 if (_level != level) {
7015 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7017 NDR_CHECK(ndr_pull_union_align(ndr, 5));
7018 switch (level) {
7019 case 1: {
7020 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
7021 break; }
7023 default:
7024 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7027 if (ndr_flags & NDR_BUFFERS) {
7028 switch (level) {
7029 case 1:
7030 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
7031 break;
7033 default:
7034 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7037 return NDR_ERR_SUCCESS;
7040 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
7042 int level;
7043 level = ndr_print_get_switch_value(ndr, r);
7044 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
7045 switch (level) {
7046 case 1:
7047 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
7048 break;
7050 default:
7051 ndr_print_bad_level(ndr, name, level);
7055 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
7057 if (ndr_flags & NDR_SCALARS) {
7058 NDR_CHECK(ndr_push_align(ndr, 5));
7059 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7060 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7061 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7062 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7063 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7064 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7065 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7066 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7068 if (ndr_flags & NDR_BUFFERS) {
7069 if (r->netbios_name) {
7070 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7071 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7072 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7073 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7075 if (r->dns_name) {
7076 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7077 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7078 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7079 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7081 if (r->site_name) {
7082 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7083 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7084 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7085 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7087 if (r->computer_dn) {
7088 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7089 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7090 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7091 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7093 if (r->server_dn) {
7094 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7095 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7096 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7097 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7100 return NDR_ERR_SUCCESS;
7103 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
7105 uint32_t _ptr_netbios_name;
7106 TALLOC_CTX *_mem_save_netbios_name_0;
7107 uint32_t _ptr_dns_name;
7108 TALLOC_CTX *_mem_save_dns_name_0;
7109 uint32_t _ptr_site_name;
7110 TALLOC_CTX *_mem_save_site_name_0;
7111 uint32_t _ptr_computer_dn;
7112 TALLOC_CTX *_mem_save_computer_dn_0;
7113 uint32_t _ptr_server_dn;
7114 TALLOC_CTX *_mem_save_server_dn_0;
7115 if (ndr_flags & NDR_SCALARS) {
7116 NDR_CHECK(ndr_pull_align(ndr, 5));
7117 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7118 if (_ptr_netbios_name) {
7119 NDR_PULL_ALLOC(ndr, r->netbios_name);
7120 } else {
7121 r->netbios_name = NULL;
7123 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7124 if (_ptr_dns_name) {
7125 NDR_PULL_ALLOC(ndr, r->dns_name);
7126 } else {
7127 r->dns_name = NULL;
7129 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7130 if (_ptr_site_name) {
7131 NDR_PULL_ALLOC(ndr, r->site_name);
7132 } else {
7133 r->site_name = NULL;
7135 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7136 if (_ptr_computer_dn) {
7137 NDR_PULL_ALLOC(ndr, r->computer_dn);
7138 } else {
7139 r->computer_dn = NULL;
7141 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7142 if (_ptr_server_dn) {
7143 NDR_PULL_ALLOC(ndr, r->server_dn);
7144 } else {
7145 r->server_dn = NULL;
7147 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7148 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7149 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7151 if (ndr_flags & NDR_BUFFERS) {
7152 if (r->netbios_name) {
7153 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7154 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7155 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7156 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7157 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7158 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7160 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7161 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7164 if (r->dns_name) {
7165 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7166 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7167 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7168 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7169 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7170 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7172 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7173 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7174 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7176 if (r->site_name) {
7177 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7178 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7179 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7180 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7181 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7182 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name));
7184 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7185 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7186 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7188 if (r->computer_dn) {
7189 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7190 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7191 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7192 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7193 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7194 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn));
7196 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7197 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7198 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7200 if (r->server_dn) {
7201 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7202 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7203 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7204 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7205 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7206 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
7208 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7209 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7210 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7213 return NDR_ERR_SUCCESS;
7216 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7218 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7219 ndr->depth++;
7220 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7221 ndr->depth++;
7222 if (r->netbios_name) {
7223 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7225 ndr->depth--;
7226 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7227 ndr->depth++;
7228 if (r->dns_name) {
7229 ndr_print_string(ndr, "dns_name", r->dns_name);
7231 ndr->depth--;
7232 ndr_print_ptr(ndr, "site_name", r->site_name);
7233 ndr->depth++;
7234 if (r->site_name) {
7235 ndr_print_string(ndr, "site_name", r->site_name);
7237 ndr->depth--;
7238 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7239 ndr->depth++;
7240 if (r->computer_dn) {
7241 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7243 ndr->depth--;
7244 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7245 ndr->depth++;
7246 if (r->server_dn) {
7247 ndr_print_string(ndr, "server_dn", r->server_dn);
7249 ndr->depth--;
7250 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7251 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7252 ndr->depth--;
7255 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7257 uint32_t cntr_array_1;
7258 if (ndr_flags & NDR_SCALARS) {
7259 NDR_CHECK(ndr_push_align(ndr, 5));
7260 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7261 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7262 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7264 if (ndr_flags & NDR_BUFFERS) {
7265 if (r->array) {
7266 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7267 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7268 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7270 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7271 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7275 return NDR_ERR_SUCCESS;
7278 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7280 uint32_t _ptr_array;
7281 uint32_t cntr_array_1;
7282 TALLOC_CTX *_mem_save_array_0;
7283 TALLOC_CTX *_mem_save_array_1;
7284 if (ndr_flags & NDR_SCALARS) {
7285 NDR_CHECK(ndr_pull_align(ndr, 5));
7286 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7287 if (r->count > 10000) {
7288 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7290 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7291 if (_ptr_array) {
7292 NDR_PULL_ALLOC(ndr, r->array);
7293 } else {
7294 r->array = NULL;
7296 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7298 if (ndr_flags & NDR_BUFFERS) {
7299 if (r->array) {
7300 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7301 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7302 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7303 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7304 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7305 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7306 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7307 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7309 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7310 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7313 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7315 if (r->array) {
7316 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7319 return NDR_ERR_SUCCESS;
7322 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7324 uint32_t cntr_array_1;
7325 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7326 ndr->depth++;
7327 ndr_print_uint32(ndr, "count", r->count);
7328 ndr_print_ptr(ndr, "array", r->array);
7329 ndr->depth++;
7330 if (r->array) {
7331 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7332 ndr->depth++;
7333 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7334 char *idx_1=NULL;
7335 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7336 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7337 free(idx_1);
7340 ndr->depth--;
7342 ndr->depth--;
7343 ndr->depth--;
7346 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7348 if (ndr_flags & NDR_SCALARS) {
7349 NDR_CHECK(ndr_push_align(ndr, 5));
7350 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7351 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7352 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7353 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7354 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7355 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7356 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7357 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7359 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7360 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7361 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7362 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7363 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7364 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7366 if (ndr_flags & NDR_BUFFERS) {
7367 if (r->netbios_name) {
7368 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7369 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7370 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7371 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7373 if (r->dns_name) {
7374 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7375 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7376 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7377 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7379 if (r->site_name) {
7380 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7381 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7382 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7383 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7385 if (r->site_dn) {
7386 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7387 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7388 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7389 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7391 if (r->computer_dn) {
7392 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7393 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7394 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7395 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7397 if (r->server_dn) {
7398 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7399 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7400 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7401 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7403 if (r->ntds_dn) {
7404 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7405 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7406 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7407 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7410 return NDR_ERR_SUCCESS;
7413 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7415 uint32_t _ptr_netbios_name;
7416 TALLOC_CTX *_mem_save_netbios_name_0;
7417 uint32_t _ptr_dns_name;
7418 TALLOC_CTX *_mem_save_dns_name_0;
7419 uint32_t _ptr_site_name;
7420 TALLOC_CTX *_mem_save_site_name_0;
7421 uint32_t _ptr_site_dn;
7422 TALLOC_CTX *_mem_save_site_dn_0;
7423 uint32_t _ptr_computer_dn;
7424 TALLOC_CTX *_mem_save_computer_dn_0;
7425 uint32_t _ptr_server_dn;
7426 TALLOC_CTX *_mem_save_server_dn_0;
7427 uint32_t _ptr_ntds_dn;
7428 TALLOC_CTX *_mem_save_ntds_dn_0;
7429 if (ndr_flags & NDR_SCALARS) {
7430 NDR_CHECK(ndr_pull_align(ndr, 5));
7431 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7432 if (_ptr_netbios_name) {
7433 NDR_PULL_ALLOC(ndr, r->netbios_name);
7434 } else {
7435 r->netbios_name = NULL;
7437 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7438 if (_ptr_dns_name) {
7439 NDR_PULL_ALLOC(ndr, r->dns_name);
7440 } else {
7441 r->dns_name = NULL;
7443 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7444 if (_ptr_site_name) {
7445 NDR_PULL_ALLOC(ndr, r->site_name);
7446 } else {
7447 r->site_name = NULL;
7449 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7450 if (_ptr_site_dn) {
7451 NDR_PULL_ALLOC(ndr, r->site_dn);
7452 } else {
7453 r->site_dn = NULL;
7455 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7456 if (_ptr_computer_dn) {
7457 NDR_PULL_ALLOC(ndr, r->computer_dn);
7458 } else {
7459 r->computer_dn = NULL;
7461 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7462 if (_ptr_server_dn) {
7463 NDR_PULL_ALLOC(ndr, r->server_dn);
7464 } else {
7465 r->server_dn = NULL;
7467 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7468 if (_ptr_ntds_dn) {
7469 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7470 } else {
7471 r->ntds_dn = NULL;
7473 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7474 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7475 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7476 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7477 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7478 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7479 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7480 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7482 if (ndr_flags & NDR_BUFFERS) {
7483 if (r->netbios_name) {
7484 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7485 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7486 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7487 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7488 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7489 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7491 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7492 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7493 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7495 if (r->dns_name) {
7496 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7497 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7498 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7499 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7500 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7501 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7503 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7504 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7505 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7507 if (r->site_name) {
7508 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7509 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7510 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7511 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7512 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7513 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name));
7515 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7516 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7517 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7519 if (r->site_dn) {
7520 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7521 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7522 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7523 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7524 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7525 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_dn), ndr_get_array_length(ndr, &r->site_dn));
7527 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7528 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7529 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7531 if (r->computer_dn) {
7532 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7533 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7534 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7535 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7536 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7537 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn));
7539 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7540 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7541 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7543 if (r->server_dn) {
7544 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7545 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7546 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7547 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7548 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7549 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
7551 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7552 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7553 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7555 if (r->ntds_dn) {
7556 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7557 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7558 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7559 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7560 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7561 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->ntds_dn), ndr_get_array_length(ndr, &r->ntds_dn));
7563 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7564 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7565 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7568 return NDR_ERR_SUCCESS;
7571 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7573 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7574 ndr->depth++;
7575 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7576 ndr->depth++;
7577 if (r->netbios_name) {
7578 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7580 ndr->depth--;
7581 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7582 ndr->depth++;
7583 if (r->dns_name) {
7584 ndr_print_string(ndr, "dns_name", r->dns_name);
7586 ndr->depth--;
7587 ndr_print_ptr(ndr, "site_name", r->site_name);
7588 ndr->depth++;
7589 if (r->site_name) {
7590 ndr_print_string(ndr, "site_name", r->site_name);
7592 ndr->depth--;
7593 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7594 ndr->depth++;
7595 if (r->site_dn) {
7596 ndr_print_string(ndr, "site_dn", r->site_dn);
7598 ndr->depth--;
7599 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7600 ndr->depth++;
7601 if (r->computer_dn) {
7602 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7604 ndr->depth--;
7605 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7606 ndr->depth++;
7607 if (r->server_dn) {
7608 ndr_print_string(ndr, "server_dn", r->server_dn);
7610 ndr->depth--;
7611 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7612 ndr->depth++;
7613 if (r->ntds_dn) {
7614 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7616 ndr->depth--;
7617 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7618 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7619 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7620 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7621 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7622 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7623 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7624 ndr->depth--;
7627 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7629 uint32_t cntr_array_1;
7630 if (ndr_flags & NDR_SCALARS) {
7631 NDR_CHECK(ndr_push_align(ndr, 5));
7632 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7633 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7634 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7636 if (ndr_flags & NDR_BUFFERS) {
7637 if (r->array) {
7638 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7639 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7640 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7642 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7643 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7647 return NDR_ERR_SUCCESS;
7650 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7652 uint32_t _ptr_array;
7653 uint32_t cntr_array_1;
7654 TALLOC_CTX *_mem_save_array_0;
7655 TALLOC_CTX *_mem_save_array_1;
7656 if (ndr_flags & NDR_SCALARS) {
7657 NDR_CHECK(ndr_pull_align(ndr, 5));
7658 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7659 if (r->count > 10000) {
7660 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7662 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7663 if (_ptr_array) {
7664 NDR_PULL_ALLOC(ndr, r->array);
7665 } else {
7666 r->array = NULL;
7668 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7670 if (ndr_flags & NDR_BUFFERS) {
7671 if (r->array) {
7672 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7673 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7674 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7675 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7676 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7677 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7678 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7679 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7681 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7682 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7685 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7687 if (r->array) {
7688 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7691 return NDR_ERR_SUCCESS;
7694 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7696 uint32_t cntr_array_1;
7697 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7698 ndr->depth++;
7699 ndr_print_uint32(ndr, "count", r->count);
7700 ndr_print_ptr(ndr, "array", r->array);
7701 ndr->depth++;
7702 if (r->array) {
7703 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7704 ndr->depth++;
7705 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7706 char *idx_1=NULL;
7707 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7708 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7709 free(idx_1);
7712 ndr->depth--;
7714 ndr->depth--;
7715 ndr->depth--;
7718 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7720 if (ndr_flags & NDR_SCALARS) {
7721 NDR_CHECK(ndr_push_align(ndr, 5));
7722 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7723 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7724 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7725 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7726 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7727 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7728 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7729 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7730 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7733 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7734 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7735 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7736 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7737 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7739 if (ndr_flags & NDR_BUFFERS) {
7740 if (r->netbios_name) {
7741 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7742 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7743 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7744 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7746 if (r->dns_name) {
7747 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7748 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7749 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7750 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7752 if (r->site_name) {
7753 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7754 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7755 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7756 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7758 if (r->site_dn) {
7759 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7760 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7761 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7762 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7764 if (r->computer_dn) {
7765 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7766 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7767 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7768 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7770 if (r->server_dn) {
7771 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7772 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7773 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7774 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7776 if (r->ntds_dn) {
7777 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7778 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7779 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7780 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7783 return NDR_ERR_SUCCESS;
7786 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
7788 uint32_t _ptr_netbios_name;
7789 TALLOC_CTX *_mem_save_netbios_name_0;
7790 uint32_t _ptr_dns_name;
7791 TALLOC_CTX *_mem_save_dns_name_0;
7792 uint32_t _ptr_site_name;
7793 TALLOC_CTX *_mem_save_site_name_0;
7794 uint32_t _ptr_site_dn;
7795 TALLOC_CTX *_mem_save_site_dn_0;
7796 uint32_t _ptr_computer_dn;
7797 TALLOC_CTX *_mem_save_computer_dn_0;
7798 uint32_t _ptr_server_dn;
7799 TALLOC_CTX *_mem_save_server_dn_0;
7800 uint32_t _ptr_ntds_dn;
7801 TALLOC_CTX *_mem_save_ntds_dn_0;
7802 if (ndr_flags & NDR_SCALARS) {
7803 NDR_CHECK(ndr_pull_align(ndr, 5));
7804 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7805 if (_ptr_netbios_name) {
7806 NDR_PULL_ALLOC(ndr, r->netbios_name);
7807 } else {
7808 r->netbios_name = NULL;
7810 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7811 if (_ptr_dns_name) {
7812 NDR_PULL_ALLOC(ndr, r->dns_name);
7813 } else {
7814 r->dns_name = NULL;
7816 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7817 if (_ptr_site_name) {
7818 NDR_PULL_ALLOC(ndr, r->site_name);
7819 } else {
7820 r->site_name = NULL;
7822 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7823 if (_ptr_site_dn) {
7824 NDR_PULL_ALLOC(ndr, r->site_dn);
7825 } else {
7826 r->site_dn = NULL;
7828 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7829 if (_ptr_computer_dn) {
7830 NDR_PULL_ALLOC(ndr, r->computer_dn);
7831 } else {
7832 r->computer_dn = NULL;
7834 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7835 if (_ptr_server_dn) {
7836 NDR_PULL_ALLOC(ndr, r->server_dn);
7837 } else {
7838 r->server_dn = NULL;
7840 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7841 if (_ptr_ntds_dn) {
7842 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7843 } else {
7844 r->ntds_dn = NULL;
7846 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7847 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7848 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7849 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
7850 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7851 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7852 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7853 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7854 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7856 if (ndr_flags & NDR_BUFFERS) {
7857 if (r->netbios_name) {
7858 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7859 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7860 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7861 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7862 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7863 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7865 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7866 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7867 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7869 if (r->dns_name) {
7870 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7871 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7872 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7873 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7874 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7875 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7877 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7878 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7879 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7881 if (r->site_name) {
7882 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7883 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7884 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7885 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7886 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7887 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name));
7889 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7890 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7891 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7893 if (r->site_dn) {
7894 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7895 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7896 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7897 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7898 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7899 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_dn), ndr_get_array_length(ndr, &r->site_dn));
7901 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7902 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7903 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7905 if (r->computer_dn) {
7906 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7907 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7908 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7909 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7910 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7911 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn));
7913 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7914 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7917 if (r->server_dn) {
7918 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7919 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7920 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7921 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7922 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7923 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
7925 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7926 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7927 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7929 if (r->ntds_dn) {
7930 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7931 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7932 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7933 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7934 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7935 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->ntds_dn), ndr_get_array_length(ndr, &r->ntds_dn));
7937 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7938 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7939 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7942 return NDR_ERR_SUCCESS;
7945 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7947 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7948 ndr->depth++;
7949 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7950 ndr->depth++;
7951 if (r->netbios_name) {
7952 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7954 ndr->depth--;
7955 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7956 ndr->depth++;
7957 if (r->dns_name) {
7958 ndr_print_string(ndr, "dns_name", r->dns_name);
7960 ndr->depth--;
7961 ndr_print_ptr(ndr, "site_name", r->site_name);
7962 ndr->depth++;
7963 if (r->site_name) {
7964 ndr_print_string(ndr, "site_name", r->site_name);
7966 ndr->depth--;
7967 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7968 ndr->depth++;
7969 if (r->site_dn) {
7970 ndr_print_string(ndr, "site_dn", r->site_dn);
7972 ndr->depth--;
7973 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7974 ndr->depth++;
7975 if (r->computer_dn) {
7976 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7978 ndr->depth--;
7979 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7980 ndr->depth++;
7981 if (r->server_dn) {
7982 ndr_print_string(ndr, "server_dn", r->server_dn);
7984 ndr->depth--;
7985 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7986 ndr->depth++;
7987 if (r->ntds_dn) {
7988 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7990 ndr->depth--;
7991 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7992 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7993 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7994 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
7995 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7996 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7997 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7998 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7999 ndr->depth--;
8002 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
8004 uint32_t cntr_array_1;
8005 if (ndr_flags & NDR_SCALARS) {
8006 NDR_CHECK(ndr_push_align(ndr, 5));
8007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8008 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8009 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8011 if (ndr_flags & NDR_BUFFERS) {
8012 if (r->array) {
8013 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8014 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8015 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8017 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8018 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8022 return NDR_ERR_SUCCESS;
8025 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
8027 uint32_t _ptr_array;
8028 uint32_t cntr_array_1;
8029 TALLOC_CTX *_mem_save_array_0;
8030 TALLOC_CTX *_mem_save_array_1;
8031 if (ndr_flags & NDR_SCALARS) {
8032 NDR_CHECK(ndr_pull_align(ndr, 5));
8033 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8034 if (r->count > 10000) {
8035 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8037 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8038 if (_ptr_array) {
8039 NDR_PULL_ALLOC(ndr, r->array);
8040 } else {
8041 r->array = NULL;
8043 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8045 if (ndr_flags & NDR_BUFFERS) {
8046 if (r->array) {
8047 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8048 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8049 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8050 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8051 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8052 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8053 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8054 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8056 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8057 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8059 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8060 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8062 if (r->array) {
8063 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8066 return NDR_ERR_SUCCESS;
8069 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
8071 uint32_t cntr_array_1;
8072 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
8073 ndr->depth++;
8074 ndr_print_uint32(ndr, "count", r->count);
8075 ndr_print_ptr(ndr, "array", r->array);
8076 ndr->depth++;
8077 if (r->array) {
8078 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8079 ndr->depth++;
8080 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8081 char *idx_1=NULL;
8082 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8083 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
8084 free(idx_1);
8087 ndr->depth--;
8089 ndr->depth--;
8090 ndr->depth--;
8093 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
8095 if (ndr_flags & NDR_SCALARS) {
8096 NDR_CHECK(ndr_push_align(ndr, 5));
8098 uint32_t _flags_save_ipv4address = ndr->flags;
8099 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8100 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
8101 ndr->flags = _flags_save_ipv4address;
8103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8104 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
8105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
8106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
8107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
8108 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
8109 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8111 if (ndr_flags & NDR_BUFFERS) {
8112 if (r->client_account) {
8113 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8114 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8115 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8116 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8119 return NDR_ERR_SUCCESS;
8122 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
8124 uint32_t _ptr_client_account;
8125 TALLOC_CTX *_mem_save_client_account_0;
8126 if (ndr_flags & NDR_SCALARS) {
8127 NDR_CHECK(ndr_pull_align(ndr, 5));
8129 uint32_t _flags_save_ipv4address = ndr->flags;
8130 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8131 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
8132 ndr->flags = _flags_save_ipv4address;
8134 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8135 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
8136 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
8137 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
8138 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
8139 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
8140 if (_ptr_client_account) {
8141 NDR_PULL_ALLOC(ndr, r->client_account);
8142 } else {
8143 r->client_account = NULL;
8145 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8147 if (ndr_flags & NDR_BUFFERS) {
8148 if (r->client_account) {
8149 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
8150 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
8151 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
8152 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
8153 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
8154 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_account), ndr_get_array_length(ndr, &r->client_account));
8156 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
8157 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
8158 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
8161 return NDR_ERR_SUCCESS;
8164 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
8166 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8167 ndr->depth++;
8168 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8169 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8170 ndr_print_uint32(ndr, "connection_time", r->connection_time);
8171 ndr_print_uint32(ndr, "unknown4", r->unknown4);
8172 ndr_print_uint32(ndr, "unknown5", r->unknown5);
8173 ndr_print_uint32(ndr, "unknown6", r->unknown6);
8174 ndr_print_ptr(ndr, "client_account", r->client_account);
8175 ndr->depth++;
8176 if (r->client_account) {
8177 ndr_print_string(ndr, "client_account", r->client_account);
8179 ndr->depth--;
8180 ndr->depth--;
8183 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8185 uint32_t cntr_array_1;
8186 if (ndr_flags & NDR_SCALARS) {
8187 NDR_CHECK(ndr_push_align(ndr, 5));
8188 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8189 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8190 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8192 if (ndr_flags & NDR_BUFFERS) {
8193 if (r->array) {
8194 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8195 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8196 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8198 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8199 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8203 return NDR_ERR_SUCCESS;
8206 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8208 uint32_t _ptr_array;
8209 uint32_t cntr_array_1;
8210 TALLOC_CTX *_mem_save_array_0;
8211 TALLOC_CTX *_mem_save_array_1;
8212 if (ndr_flags & NDR_SCALARS) {
8213 NDR_CHECK(ndr_pull_align(ndr, 5));
8214 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8215 if (r->count > 10000) {
8216 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8218 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8219 if (_ptr_array) {
8220 NDR_PULL_ALLOC(ndr, r->array);
8221 } else {
8222 r->array = NULL;
8224 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8226 if (ndr_flags & NDR_BUFFERS) {
8227 if (r->array) {
8228 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8229 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8230 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8231 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8232 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8233 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8234 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8235 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8237 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8238 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8240 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8243 if (r->array) {
8244 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8247 return NDR_ERR_SUCCESS;
8250 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8252 uint32_t cntr_array_1;
8253 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8254 ndr->depth++;
8255 ndr_print_uint32(ndr, "count", r->count);
8256 ndr_print_ptr(ndr, "array", r->array);
8257 ndr->depth++;
8258 if (r->array) {
8259 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8260 ndr->depth++;
8261 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8262 char *idx_1=NULL;
8263 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8264 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8265 free(idx_1);
8268 ndr->depth--;
8270 ndr->depth--;
8271 ndr->depth--;
8274 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8276 if (ndr_flags & NDR_SCALARS) {
8277 int level = ndr_push_get_switch_value(ndr, r);
8278 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8279 NDR_CHECK(ndr_push_union_align(ndr, 5));
8280 switch (level) {
8281 case DRSUAPI_DC_INFO_CTR_1: {
8282 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8283 break; }
8285 case DRSUAPI_DC_INFO_CTR_2: {
8286 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8287 break; }
8289 case DRSUAPI_DC_INFO_CTR_3: {
8290 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8291 break; }
8293 case DRSUAPI_DC_CONNECTION_CTR_01: {
8294 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8295 break; }
8297 default:
8298 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8301 if (ndr_flags & NDR_BUFFERS) {
8302 int level = ndr_push_get_switch_value(ndr, r);
8303 switch (level) {
8304 case DRSUAPI_DC_INFO_CTR_1:
8305 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8306 break;
8308 case DRSUAPI_DC_INFO_CTR_2:
8309 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8310 break;
8312 case DRSUAPI_DC_INFO_CTR_3:
8313 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8314 break;
8316 case DRSUAPI_DC_CONNECTION_CTR_01:
8317 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8318 break;
8320 default:
8321 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8324 return NDR_ERR_SUCCESS;
8327 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8329 int level;
8330 int32_t _level;
8331 level = ndr_pull_get_switch_value(ndr, r);
8332 if (ndr_flags & NDR_SCALARS) {
8333 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8334 if (_level != level) {
8335 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8337 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8338 switch (level) {
8339 case DRSUAPI_DC_INFO_CTR_1: {
8340 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8341 break; }
8343 case DRSUAPI_DC_INFO_CTR_2: {
8344 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8345 break; }
8347 case DRSUAPI_DC_INFO_CTR_3: {
8348 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8349 break; }
8351 case DRSUAPI_DC_CONNECTION_CTR_01: {
8352 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8353 break; }
8355 default:
8356 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8359 if (ndr_flags & NDR_BUFFERS) {
8360 switch (level) {
8361 case DRSUAPI_DC_INFO_CTR_1:
8362 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8363 break;
8365 case DRSUAPI_DC_INFO_CTR_2:
8366 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8367 break;
8369 case DRSUAPI_DC_INFO_CTR_3:
8370 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8371 break;
8373 case DRSUAPI_DC_CONNECTION_CTR_01:
8374 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8375 break;
8377 default:
8378 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8381 return NDR_ERR_SUCCESS;
8384 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
8386 int level;
8387 level = ndr_print_get_switch_value(ndr, r);
8388 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
8389 switch (level) {
8390 case DRSUAPI_DC_INFO_CTR_1:
8391 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
8392 break;
8394 case DRSUAPI_DC_INFO_CTR_2:
8395 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
8396 break;
8398 case DRSUAPI_DC_INFO_CTR_3:
8399 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
8400 break;
8402 case DRSUAPI_DC_CONNECTION_CTR_01:
8403 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
8404 break;
8406 default:
8407 ndr_print_bad_level(ndr, name, level);
8411 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
8413 if (ndr_flags & NDR_SCALARS) {
8414 NDR_CHECK(ndr_push_align(ndr, 5));
8415 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
8416 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8417 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8419 if (ndr_flags & NDR_BUFFERS) {
8420 if (r->next_object) {
8421 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8423 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8425 return NDR_ERR_SUCCESS;
8428 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8430 uint32_t _ptr_next_object;
8431 TALLOC_CTX *_mem_save_next_object_0;
8432 if (ndr_flags & NDR_SCALARS) {
8433 NDR_CHECK(ndr_pull_align(ndr, 5));
8434 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8435 if (_ptr_next_object) {
8436 NDR_PULL_ALLOC(ndr, r->next_object);
8437 } else {
8438 r->next_object = NULL;
8440 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8441 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8443 if (ndr_flags & NDR_BUFFERS) {
8444 if (r->next_object) {
8445 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8446 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8447 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8448 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8450 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8452 return NDR_ERR_SUCCESS;
8455 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8457 if (ndr_flags & NDR_SCALARS) {
8458 NDR_CHECK(ndr_push_align(ndr, 5));
8459 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8460 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8462 if (ndr_flags & NDR_BUFFERS) {
8463 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8465 return NDR_ERR_SUCCESS;
8468 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8470 if (ndr_flags & NDR_SCALARS) {
8471 NDR_CHECK(ndr_pull_align(ndr, 5));
8472 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8473 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8475 if (ndr_flags & NDR_BUFFERS) {
8476 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8478 return NDR_ERR_SUCCESS;
8481 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8483 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8484 ndr->depth++;
8485 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8486 ndr->depth--;
8489 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
8491 if (ndr_flags & NDR_SCALARS) {
8492 int level = ndr_push_get_switch_value(ndr, r);
8493 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8494 NDR_CHECK(ndr_push_union_align(ndr, 5));
8495 switch (level) {
8496 case 2: {
8497 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8498 break; }
8500 default:
8501 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8504 if (ndr_flags & NDR_BUFFERS) {
8505 int level = ndr_push_get_switch_value(ndr, r);
8506 switch (level) {
8507 case 2:
8508 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8509 break;
8511 default:
8512 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8515 return NDR_ERR_SUCCESS;
8518 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
8520 int level;
8521 int32_t _level;
8522 level = ndr_pull_get_switch_value(ndr, r);
8523 if (ndr_flags & NDR_SCALARS) {
8524 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8525 if (_level != level) {
8526 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8528 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8529 switch (level) {
8530 case 2: {
8531 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8532 break; }
8534 default:
8535 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8538 if (ndr_flags & NDR_BUFFERS) {
8539 switch (level) {
8540 case 2:
8541 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8542 break;
8544 default:
8545 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8548 return NDR_ERR_SUCCESS;
8551 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
8553 int level;
8554 level = ndr_print_get_switch_value(ndr, r);
8555 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
8556 switch (level) {
8557 case 2:
8558 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
8559 break;
8561 default:
8562 ndr_print_bad_level(ndr, name, level);
8566 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
8568 if (ndr_flags & NDR_SCALARS) {
8569 NDR_CHECK(ndr_push_align(ndr, 4));
8570 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8571 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8573 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
8574 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8576 if (ndr_flags & NDR_BUFFERS) {
8578 return NDR_ERR_SUCCESS;
8581 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
8583 if (ndr_flags & NDR_SCALARS) {
8584 NDR_CHECK(ndr_pull_align(ndr, 4));
8585 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8586 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8587 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8588 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
8589 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8591 if (ndr_flags & NDR_BUFFERS) {
8593 return NDR_ERR_SUCCESS;
8596 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
8598 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
8599 ndr->depth++;
8600 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8601 ndr_print_WERROR(ndr, "status", r->status);
8602 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8603 ndr_print_uint16(ndr, "unknown3", r->unknown3);
8604 ndr->depth--;
8607 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8609 if (ndr_flags & NDR_SCALARS) {
8610 NDR_CHECK(ndr_push_align(ndr, 5));
8611 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8612 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8613 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8615 if (ndr_flags & NDR_BUFFERS) {
8616 if (r->data) {
8617 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
8618 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
8621 return NDR_ERR_SUCCESS;
8624 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8626 uint32_t _ptr_data;
8627 TALLOC_CTX *_mem_save_data_0;
8628 if (ndr_flags & NDR_SCALARS) {
8629 NDR_CHECK(ndr_pull_align(ndr, 5));
8630 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8631 if (r->size > 10485760) {
8632 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8634 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8635 if (_ptr_data) {
8636 NDR_PULL_ALLOC(ndr, r->data);
8637 } else {
8638 r->data = NULL;
8640 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8642 if (ndr_flags & NDR_BUFFERS) {
8643 if (r->data) {
8644 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8645 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8646 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
8647 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
8648 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
8649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8651 if (r->data) {
8652 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
8655 return NDR_ERR_SUCCESS;
8658 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8660 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
8661 ndr->depth++;
8662 ndr_print_uint32(ndr, "size", r->size);
8663 ndr_print_ptr(ndr, "data", r->data);
8664 ndr->depth++;
8665 if (r->data) {
8666 ndr_print_array_uint8(ndr, "data", r->data, r->size);
8668 ndr->depth--;
8669 ndr->depth--;
8672 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
8674 if (ndr_flags & NDR_SCALARS) {
8675 NDR_CHECK(ndr_push_align(ndr, 5));
8676 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8677 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
8678 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8679 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8680 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8682 if (ndr_flags & NDR_BUFFERS) {
8683 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8685 return NDR_ERR_SUCCESS;
8688 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
8690 if (ndr_flags & NDR_SCALARS) {
8691 NDR_CHECK(ndr_pull_align(ndr, 5));
8692 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8693 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
8694 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8695 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8696 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8698 if (ndr_flags & NDR_BUFFERS) {
8699 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8701 return NDR_ERR_SUCCESS;
8704 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
8706 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
8707 ndr->depth++;
8708 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8709 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
8710 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8711 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
8712 ndr->depth--;
8715 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8717 if (ndr_flags & NDR_SCALARS) {
8718 NDR_CHECK(ndr_push_align(ndr, 5));
8719 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
8720 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8721 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8723 if (ndr_flags & NDR_BUFFERS) {
8724 if (r->next) {
8725 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8727 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8729 return NDR_ERR_SUCCESS;
8732 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
8734 uint32_t _ptr_next;
8735 TALLOC_CTX *_mem_save_next_0;
8736 if (ndr_flags & NDR_SCALARS) {
8737 NDR_CHECK(ndr_pull_align(ndr, 5));
8738 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
8739 if (_ptr_next) {
8740 NDR_PULL_ALLOC(ndr, r->next);
8741 } else {
8742 r->next = NULL;
8744 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8745 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8747 if (ndr_flags & NDR_BUFFERS) {
8748 if (r->next) {
8749 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
8750 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
8751 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8752 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
8754 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8756 return NDR_ERR_SUCCESS;
8759 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8761 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
8762 ndr->depth++;
8763 ndr_print_ptr(ndr, "next", r->next);
8764 ndr->depth++;
8765 if (r->next) {
8766 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
8768 ndr->depth--;
8769 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
8770 ndr->depth--;
8773 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8775 if (ndr_flags & NDR_SCALARS) {
8776 NDR_CHECK(ndr_push_align(ndr, 5));
8777 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8778 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8779 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8780 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8782 if (ndr_flags & NDR_BUFFERS) {
8783 if (r->id) {
8784 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8786 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8788 return NDR_ERR_SUCCESS;
8791 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
8793 uint32_t _ptr_id;
8794 TALLOC_CTX *_mem_save_id_0;
8795 if (ndr_flags & NDR_SCALARS) {
8796 NDR_CHECK(ndr_pull_align(ndr, 5));
8797 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8798 if (_ptr_id) {
8799 NDR_PULL_ALLOC(ndr, r->id);
8800 } else {
8801 r->id = NULL;
8803 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8804 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8805 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8807 if (ndr_flags & NDR_BUFFERS) {
8808 if (r->id) {
8809 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8810 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8811 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8812 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8814 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8816 return NDR_ERR_SUCCESS;
8819 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8821 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
8822 ndr->depth++;
8823 ndr_print_ptr(ndr, "id", r->id);
8824 ndr->depth++;
8825 if (r->id) {
8826 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8828 ndr->depth--;
8829 ndr_print_WERROR(ndr, "status", r->status);
8830 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
8831 ndr->depth--;
8834 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
8836 if (ndr_flags & NDR_SCALARS) {
8837 int level = ndr_push_get_switch_value(ndr, r);
8838 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8839 NDR_CHECK(ndr_push_union_align(ndr, 5));
8840 switch (level) {
8841 case 1: {
8842 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8843 break; }
8845 case 4: {
8846 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8847 break; }
8849 case 5: {
8850 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8851 break; }
8853 case 6: {
8854 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8855 break; }
8857 case 7: {
8858 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8859 break; }
8861 default:
8862 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8865 if (ndr_flags & NDR_BUFFERS) {
8866 int level = ndr_push_get_switch_value(ndr, r);
8867 switch (level) {
8868 case 1:
8869 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8870 break;
8872 case 4:
8873 break;
8875 case 5:
8876 break;
8878 case 6:
8879 break;
8881 case 7:
8882 break;
8884 default:
8885 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8888 return NDR_ERR_SUCCESS;
8891 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
8893 int level;
8894 uint32_t _level;
8895 level = ndr_pull_get_switch_value(ndr, r);
8896 if (ndr_flags & NDR_SCALARS) {
8897 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8898 if (_level != level) {
8899 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8901 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8902 switch (level) {
8903 case 1: {
8904 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8905 break; }
8907 case 4: {
8908 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8909 break; }
8911 case 5: {
8912 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8913 break; }
8915 case 6: {
8916 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8917 break; }
8919 case 7: {
8920 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8921 break; }
8923 default:
8924 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8927 if (ndr_flags & NDR_BUFFERS) {
8928 switch (level) {
8929 case 1:
8930 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8931 break;
8933 case 4:
8934 break;
8936 case 5:
8937 break;
8939 case 6:
8940 break;
8942 case 7:
8943 break;
8945 default:
8946 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8949 return NDR_ERR_SUCCESS;
8952 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
8954 int level;
8955 level = ndr_print_get_switch_value(ndr, r);
8956 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
8957 switch (level) {
8958 case 1:
8959 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
8960 break;
8962 case 4:
8963 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8964 break;
8966 case 5:
8967 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8968 break;
8970 case 6:
8971 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8972 break;
8974 case 7:
8975 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8976 break;
8978 default:
8979 ndr_print_bad_level(ndr, name, level);
8983 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
8985 if (ndr_flags & NDR_SCALARS) {
8986 NDR_CHECK(ndr_push_align(ndr, 5));
8987 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8988 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8989 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8990 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8992 if (ndr_flags & NDR_BUFFERS) {
8993 if (r->info) {
8994 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
8995 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8998 return NDR_ERR_SUCCESS;
9001 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
9003 uint32_t _ptr_info;
9004 TALLOC_CTX *_mem_save_info_0;
9005 if (ndr_flags & NDR_SCALARS) {
9006 NDR_CHECK(ndr_pull_align(ndr, 5));
9007 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
9008 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9009 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9010 if (_ptr_info) {
9011 NDR_PULL_ALLOC(ndr, r->info);
9012 } else {
9013 r->info = NULL;
9015 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9017 if (ndr_flags & NDR_BUFFERS) {
9018 if (r->info) {
9019 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9020 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
9021 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
9022 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
9023 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
9026 return NDR_ERR_SUCCESS;
9029 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
9031 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
9032 ndr->depth++;
9033 ndr_print_WERROR(ndr, "status", r->status);
9034 ndr_print_uint32(ndr, "level", r->level);
9035 ndr_print_ptr(ndr, "info", r->info);
9036 ndr->depth++;
9037 if (r->info) {
9038 ndr_print_set_switch_value(ndr, r->info, r->level);
9039 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
9041 ndr->depth--;
9042 ndr->depth--;
9045 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
9047 if (ndr_flags & NDR_SCALARS) {
9048 int level = ndr_push_get_switch_value(ndr, r);
9049 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9050 NDR_CHECK(ndr_push_union_align(ndr, 5));
9051 switch (level) {
9052 case 1: {
9053 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
9054 break; }
9056 default:
9057 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9060 if (ndr_flags & NDR_BUFFERS) {
9061 int level = ndr_push_get_switch_value(ndr, r);
9062 switch (level) {
9063 case 1:
9064 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
9065 break;
9067 default:
9068 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9071 return NDR_ERR_SUCCESS;
9074 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
9076 int level;
9077 uint32_t _level;
9078 level = ndr_pull_get_switch_value(ndr, r);
9079 if (ndr_flags & NDR_SCALARS) {
9080 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9081 if (_level != level) {
9082 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9084 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9085 switch (level) {
9086 case 1: {
9087 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
9088 break; }
9090 default:
9091 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9094 if (ndr_flags & NDR_BUFFERS) {
9095 switch (level) {
9096 case 1:
9097 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
9098 break;
9100 default:
9101 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9104 return NDR_ERR_SUCCESS;
9107 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
9109 int level;
9110 level = ndr_print_get_switch_value(ndr, r);
9111 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
9112 switch (level) {
9113 case 1:
9114 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
9115 break;
9117 default:
9118 ndr_print_bad_level(ndr, name, level);
9122 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9124 if (ndr_flags & NDR_SCALARS) {
9125 NDR_CHECK(ndr_push_align(ndr, 4));
9126 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
9127 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9128 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9130 if (ndr_flags & NDR_BUFFERS) {
9131 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9133 return NDR_ERR_SUCCESS;
9136 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
9138 if (ndr_flags & NDR_SCALARS) {
9139 NDR_CHECK(ndr_pull_align(ndr, 4));
9140 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
9141 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9142 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9144 if (ndr_flags & NDR_BUFFERS) {
9145 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9147 return NDR_ERR_SUCCESS;
9150 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9152 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
9153 ndr->depth++;
9154 ndr_print_GUID(ndr, "guid", &r->guid);
9155 ndr_print_dom_sid28(ndr, "sid", &r->sid);
9156 ndr->depth--;
9159 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
9161 uint32_t cntr_objects_1;
9162 if (ndr_flags & NDR_SCALARS) {
9163 NDR_CHECK(ndr_push_align(ndr, 5));
9164 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9166 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9168 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9169 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9171 if (ndr_flags & NDR_BUFFERS) {
9172 if (r->id) {
9173 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9175 if (r->objects) {
9176 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9177 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9178 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9180 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9181 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9185 return NDR_ERR_SUCCESS;
9188 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
9190 uint32_t _ptr_id;
9191 TALLOC_CTX *_mem_save_id_0;
9192 uint32_t _ptr_objects;
9193 uint32_t cntr_objects_1;
9194 TALLOC_CTX *_mem_save_objects_0;
9195 TALLOC_CTX *_mem_save_objects_1;
9196 if (ndr_flags & NDR_SCALARS) {
9197 NDR_CHECK(ndr_pull_align(ndr, 5));
9198 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9199 if (_ptr_id) {
9200 NDR_PULL_ALLOC(ndr, r->id);
9201 } else {
9202 r->id = NULL;
9204 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9205 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9206 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9207 if (r->count > 10000) {
9208 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9210 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9211 if (_ptr_objects) {
9212 NDR_PULL_ALLOC(ndr, r->objects);
9213 } else {
9214 r->objects = NULL;
9216 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9218 if (ndr_flags & NDR_BUFFERS) {
9219 if (r->id) {
9220 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9221 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9222 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9225 if (r->objects) {
9226 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9227 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9228 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9229 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9230 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9231 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9232 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9233 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9235 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9236 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9238 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9239 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9241 if (r->objects) {
9242 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9245 return NDR_ERR_SUCCESS;
9248 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
9250 uint32_t cntr_objects_1;
9251 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
9252 ndr->depth++;
9253 ndr_print_ptr(ndr, "id", r->id);
9254 ndr->depth++;
9255 if (r->id) {
9256 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9258 ndr->depth--;
9259 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9260 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
9261 ndr_print_uint32(ndr, "count", r->count);
9262 ndr_print_ptr(ndr, "objects", r->objects);
9263 ndr->depth++;
9264 if (r->objects) {
9265 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9266 ndr->depth++;
9267 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9268 char *idx_1=NULL;
9269 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9270 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9271 free(idx_1);
9274 ndr->depth--;
9276 ndr->depth--;
9277 ndr->depth--;
9280 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
9282 uint32_t cntr_objects_1;
9283 if (ndr_flags & NDR_SCALARS) {
9284 NDR_CHECK(ndr_push_align(ndr, 5));
9285 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9286 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
9287 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
9288 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9289 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9290 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9292 if (ndr_flags & NDR_BUFFERS) {
9293 if (r->id) {
9294 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9296 if (r->error) {
9297 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
9298 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9300 if (r->objects) {
9301 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9302 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9303 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9305 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9306 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9310 return NDR_ERR_SUCCESS;
9313 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
9315 uint32_t _ptr_id;
9316 TALLOC_CTX *_mem_save_id_0;
9317 uint32_t _ptr_error;
9318 TALLOC_CTX *_mem_save_error_0;
9319 uint32_t _ptr_objects;
9320 uint32_t cntr_objects_1;
9321 TALLOC_CTX *_mem_save_objects_0;
9322 TALLOC_CTX *_mem_save_objects_1;
9323 if (ndr_flags & NDR_SCALARS) {
9324 NDR_CHECK(ndr_pull_align(ndr, 5));
9325 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9326 if (_ptr_id) {
9327 NDR_PULL_ALLOC(ndr, r->id);
9328 } else {
9329 r->id = NULL;
9331 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9332 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
9333 if (_ptr_error) {
9334 NDR_PULL_ALLOC(ndr, r->error);
9335 } else {
9336 r->error = NULL;
9338 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9339 if (r->count > 10000) {
9340 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9342 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9343 if (_ptr_objects) {
9344 NDR_PULL_ALLOC(ndr, r->objects);
9345 } else {
9346 r->objects = NULL;
9348 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9350 if (ndr_flags & NDR_BUFFERS) {
9351 if (r->id) {
9352 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9353 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9354 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9355 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9357 if (r->error) {
9358 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
9359 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
9360 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
9361 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9362 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
9364 if (r->objects) {
9365 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9366 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9367 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9368 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9369 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9370 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9371 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9372 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9374 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9375 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9377 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9378 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9380 if (r->objects) {
9381 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9384 return NDR_ERR_SUCCESS;
9387 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
9389 uint32_t cntr_objects_1;
9390 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
9391 ndr->depth++;
9392 ndr_print_ptr(ndr, "id", r->id);
9393 ndr->depth++;
9394 if (r->id) {
9395 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9397 ndr->depth--;
9398 ndr_print_uint32(ndr, "level", r->level);
9399 ndr_print_ptr(ndr, "error", r->error);
9400 ndr->depth++;
9401 if (r->error) {
9402 ndr_print_set_switch_value(ndr, r->error, r->level);
9403 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
9405 ndr->depth--;
9406 ndr_print_uint32(ndr, "count", r->count);
9407 ndr_print_ptr(ndr, "objects", r->objects);
9408 ndr->depth++;
9409 if (r->objects) {
9410 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9411 ndr->depth++;
9412 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9413 char *idx_1=NULL;
9414 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9415 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9416 free(idx_1);
9419 ndr->depth--;
9421 ndr->depth--;
9422 ndr->depth--;
9425 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
9427 if (ndr_flags & NDR_SCALARS) {
9428 int level = ndr_push_get_switch_value(ndr, r);
9429 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
9430 NDR_CHECK(ndr_push_union_align(ndr, 5));
9431 switch (level) {
9432 case 2: {
9433 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9434 break; }
9436 case 3: {
9437 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9438 break; }
9440 default:
9441 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9444 if (ndr_flags & NDR_BUFFERS) {
9445 int level = ndr_push_get_switch_value(ndr, r);
9446 switch (level) {
9447 case 2:
9448 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9449 break;
9451 case 3:
9452 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9453 break;
9455 default:
9456 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9459 return NDR_ERR_SUCCESS;
9462 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
9464 int level;
9465 int32_t _level;
9466 level = ndr_pull_get_switch_value(ndr, r);
9467 if (ndr_flags & NDR_SCALARS) {
9468 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
9469 if (_level != level) {
9470 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9472 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9473 switch (level) {
9474 case 2: {
9475 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9476 break; }
9478 case 3: {
9479 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9480 break; }
9482 default:
9483 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9486 if (ndr_flags & NDR_BUFFERS) {
9487 switch (level) {
9488 case 2:
9489 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9490 break;
9492 case 3:
9493 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9494 break;
9496 default:
9497 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9500 return NDR_ERR_SUCCESS;
9503 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
9505 int level;
9506 level = ndr_print_get_switch_value(ndr, r);
9507 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
9508 switch (level) {
9509 case 2:
9510 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
9511 break;
9513 case 3:
9514 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
9515 break;
9517 default:
9518 ndr_print_bad_level(ndr, name, level);
9522 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9524 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9525 return NDR_ERR_SUCCESS;
9528 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9530 uint32_t v;
9531 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9532 *r = v;
9533 return NDR_ERR_SUCCESS;
9536 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
9538 ndr_print_uint32(ndr, name, r);
9539 ndr->depth++;
9540 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
9541 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
9542 ndr->depth--;
9545 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
9547 if (ndr_flags & NDR_SCALARS) {
9548 NDR_CHECK(ndr_push_align(ndr, 4));
9549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
9550 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
9551 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9553 if (ndr_flags & NDR_BUFFERS) {
9555 return NDR_ERR_SUCCESS;
9558 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
9560 if (ndr_flags & NDR_SCALARS) {
9561 NDR_CHECK(ndr_pull_align(ndr, 4));
9562 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
9563 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
9564 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9566 if (ndr_flags & NDR_BUFFERS) {
9568 return NDR_ERR_SUCCESS;
9571 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
9573 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
9574 ndr->depth++;
9575 ndr_print_uint32(ndr, "taskID", r->taskID);
9576 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
9577 ndr->depth--;
9580 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
9582 if (ndr_flags & NDR_SCALARS) {
9583 int level = ndr_push_get_switch_value(ndr, r);
9584 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9585 NDR_CHECK(ndr_push_union_align(ndr, 4));
9586 switch (level) {
9587 case 1: {
9588 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9589 break; }
9591 default:
9592 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9595 if (ndr_flags & NDR_BUFFERS) {
9596 int level = ndr_push_get_switch_value(ndr, r);
9597 switch (level) {
9598 case 1:
9599 break;
9601 default:
9602 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9605 return NDR_ERR_SUCCESS;
9608 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
9610 int level;
9611 uint32_t _level;
9612 level = ndr_pull_get_switch_value(ndr, r);
9613 if (ndr_flags & NDR_SCALARS) {
9614 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9615 if (_level != level) {
9616 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9618 NDR_CHECK(ndr_pull_union_align(ndr, 4));
9619 switch (level) {
9620 case 1: {
9621 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9622 break; }
9624 default:
9625 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9628 if (ndr_flags & NDR_BUFFERS) {
9629 switch (level) {
9630 case 1:
9631 break;
9633 default:
9634 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9637 return NDR_ERR_SUCCESS;
9640 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
9642 int level;
9643 level = ndr_print_get_switch_value(ndr, r);
9644 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
9645 switch (level) {
9646 case 1:
9647 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
9648 break;
9650 default:
9651 ndr_print_bad_level(ndr, name, level);
9655 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
9657 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9658 return NDR_ERR_SUCCESS;
9661 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
9663 uint32_t v;
9664 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9665 *r = v;
9666 return NDR_ERR_SUCCESS;
9669 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
9671 const char *val = NULL;
9673 switch (r) {
9674 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9675 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9677 ndr_print_enum(ndr, name, "ENUM", val, r);
9680 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
9682 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9683 return NDR_ERR_SUCCESS;
9686 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
9688 uint32_t v;
9689 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9690 *r = v;
9691 return NDR_ERR_SUCCESS;
9694 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
9696 const char *val = NULL;
9698 switch (r) {
9699 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9700 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9701 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9702 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9703 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9704 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9705 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9706 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9707 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9708 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9709 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9710 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
9711 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: val = "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
9712 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
9713 case DRSUAPI_DS_REPLICA_INFO_06: val = "DRSUAPI_DS_REPLICA_INFO_06"; break;
9715 ndr_print_enum(ndr, name, "ENUM", val, r);
9718 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9720 if (ndr_flags & NDR_SCALARS) {
9721 NDR_CHECK(ndr_push_align(ndr, 5));
9722 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9723 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9724 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9725 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9727 if (ndr_flags & NDR_BUFFERS) {
9728 if (r->object_dn) {
9729 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9730 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9731 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9732 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9735 return NDR_ERR_SUCCESS;
9738 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
9740 uint32_t _ptr_object_dn;
9741 TALLOC_CTX *_mem_save_object_dn_0;
9742 if (ndr_flags & NDR_SCALARS) {
9743 NDR_CHECK(ndr_pull_align(ndr, 5));
9744 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9745 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9746 if (_ptr_object_dn) {
9747 NDR_PULL_ALLOC(ndr, r->object_dn);
9748 } else {
9749 r->object_dn = NULL;
9751 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9752 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9754 if (ndr_flags & NDR_BUFFERS) {
9755 if (r->object_dn) {
9756 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9757 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9758 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9759 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9760 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9761 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
9763 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9764 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9765 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9768 return NDR_ERR_SUCCESS;
9771 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9773 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
9774 ndr->depth++;
9775 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9776 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9777 ndr->depth++;
9778 if (r->object_dn) {
9779 ndr_print_string(ndr, "object_dn", r->object_dn);
9781 ndr->depth--;
9782 ndr_print_GUID(ndr, "guid1", &r->guid1);
9783 ndr->depth--;
9786 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9788 if (ndr_flags & NDR_SCALARS) {
9789 NDR_CHECK(ndr_push_align(ndr, 5));
9790 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9791 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9792 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9794 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string1));
9795 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string2));
9796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
9797 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9799 if (ndr_flags & NDR_BUFFERS) {
9800 if (r->object_dn) {
9801 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9802 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9803 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9804 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9806 if (r->string1) {
9807 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9808 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9809 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9810 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string1, ndr_charset_length(r->string1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9812 if (r->string2) {
9813 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9814 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9815 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9816 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string2, ndr_charset_length(r->string2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9819 return NDR_ERR_SUCCESS;
9822 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
9824 uint32_t _ptr_object_dn;
9825 TALLOC_CTX *_mem_save_object_dn_0;
9826 uint32_t _ptr_string1;
9827 TALLOC_CTX *_mem_save_string1_0;
9828 uint32_t _ptr_string2;
9829 TALLOC_CTX *_mem_save_string2_0;
9830 if (ndr_flags & NDR_SCALARS) {
9831 NDR_CHECK(ndr_pull_align(ndr, 5));
9832 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9833 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9834 if (_ptr_object_dn) {
9835 NDR_PULL_ALLOC(ndr, r->object_dn);
9836 } else {
9837 r->object_dn = NULL;
9839 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9840 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9841 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string1));
9842 if (_ptr_string1) {
9843 NDR_PULL_ALLOC(ndr, r->string1);
9844 } else {
9845 r->string1 = NULL;
9847 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string2));
9848 if (_ptr_string2) {
9849 NDR_PULL_ALLOC(ndr, r->string2);
9850 } else {
9851 r->string2 = NULL;
9853 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
9854 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9856 if (ndr_flags & NDR_BUFFERS) {
9857 if (r->object_dn) {
9858 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9859 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9860 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9861 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9862 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9863 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
9865 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9866 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9867 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9869 if (r->string1) {
9870 _mem_save_string1_0 = NDR_PULL_GET_MEM_CTX(ndr);
9871 NDR_PULL_SET_MEM_CTX(ndr, r->string1, 0);
9872 NDR_CHECK(ndr_pull_array_size(ndr, &r->string1));
9873 NDR_CHECK(ndr_pull_array_length(ndr, &r->string1));
9874 if (ndr_get_array_length(ndr, &r->string1) > ndr_get_array_size(ndr, &r->string1)) {
9875 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string1), ndr_get_array_length(ndr, &r->string1));
9877 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t)));
9878 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string1, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t), CH_UTF16));
9879 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string1_0, 0);
9881 if (r->string2) {
9882 _mem_save_string2_0 = NDR_PULL_GET_MEM_CTX(ndr);
9883 NDR_PULL_SET_MEM_CTX(ndr, r->string2, 0);
9884 NDR_CHECK(ndr_pull_array_size(ndr, &r->string2));
9885 NDR_CHECK(ndr_pull_array_length(ndr, &r->string2));
9886 if (ndr_get_array_length(ndr, &r->string2) > ndr_get_array_size(ndr, &r->string2)) {
9887 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string2), ndr_get_array_length(ndr, &r->string2));
9889 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t)));
9890 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string2, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t), CH_UTF16));
9891 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string2_0, 0);
9894 return NDR_ERR_SUCCESS;
9897 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9899 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
9900 ndr->depth++;
9901 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9902 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9903 ndr->depth++;
9904 if (r->object_dn) {
9905 ndr_print_string(ndr, "object_dn", r->object_dn);
9907 ndr->depth--;
9908 ndr_print_GUID(ndr, "guid1", &r->guid1);
9909 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9910 ndr_print_ptr(ndr, "string1", r->string1);
9911 ndr->depth++;
9912 if (r->string1) {
9913 ndr_print_string(ndr, "string1", r->string1);
9915 ndr->depth--;
9916 ndr_print_ptr(ndr, "string2", r->string2);
9917 ndr->depth++;
9918 if (r->string2) {
9919 ndr_print_string(ndr, "string2", r->string2);
9921 ndr->depth--;
9922 ndr_print_uint32(ndr, "unknown2", r->unknown2);
9923 ndr->depth--;
9926 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
9928 if (ndr_flags & NDR_SCALARS) {
9929 int level = ndr_push_get_switch_value(ndr, r);
9930 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
9931 NDR_CHECK(ndr_push_union_align(ndr, 5));
9932 switch (level) {
9933 case DRSUAPI_DS_REPLICA_GET_INFO: {
9934 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9935 break; }
9937 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9938 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9939 break; }
9941 default:
9942 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9945 if (ndr_flags & NDR_BUFFERS) {
9946 int level = ndr_push_get_switch_value(ndr, r);
9947 switch (level) {
9948 case DRSUAPI_DS_REPLICA_GET_INFO:
9949 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9950 break;
9952 case DRSUAPI_DS_REPLICA_GET_INFO2:
9953 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9954 break;
9956 default:
9957 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9960 return NDR_ERR_SUCCESS;
9963 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
9965 int level;
9966 uint32_t _level;
9967 level = ndr_pull_get_switch_value(ndr, r);
9968 if (ndr_flags & NDR_SCALARS) {
9969 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9970 if (_level != level) {
9971 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9973 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9974 switch (level) {
9975 case DRSUAPI_DS_REPLICA_GET_INFO: {
9976 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9977 break; }
9979 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9980 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9981 break; }
9983 default:
9984 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9987 if (ndr_flags & NDR_BUFFERS) {
9988 switch (level) {
9989 case DRSUAPI_DS_REPLICA_GET_INFO:
9990 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9991 break;
9993 case DRSUAPI_DS_REPLICA_GET_INFO2:
9994 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9995 break;
9997 default:
9998 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10001 return NDR_ERR_SUCCESS;
10004 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
10006 int level;
10007 level = ndr_print_get_switch_value(ndr, r);
10008 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
10009 switch (level) {
10010 case DRSUAPI_DS_REPLICA_GET_INFO:
10011 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
10012 break;
10014 case DRSUAPI_DS_REPLICA_GET_INFO2:
10015 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
10016 break;
10018 default:
10019 ndr_print_bad_level(ndr, name, level);
10023 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
10025 if (ndr_flags & NDR_SCALARS) {
10026 NDR_CHECK(ndr_push_align(ndr, 8));
10027 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
10028 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
10029 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
10030 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
10031 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
10032 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10033 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
10034 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
10035 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10036 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
10037 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
10038 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
10039 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
10040 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
10041 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
10042 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
10043 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10045 if (ndr_flags & NDR_BUFFERS) {
10046 if (r->naming_context_dn) {
10047 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
10048 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10049 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
10050 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));
10052 if (r->source_dsa_obj_dn) {
10053 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10054 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10055 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10056 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));
10058 if (r->source_dsa_address) {
10059 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
10060 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10061 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
10062 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));
10064 if (r->transport_obj_dn) {
10065 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
10066 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10067 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
10068 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));
10071 return NDR_ERR_SUCCESS;
10074 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
10076 uint32_t _ptr_naming_context_dn;
10077 TALLOC_CTX *_mem_save_naming_context_dn_0;
10078 uint32_t _ptr_source_dsa_obj_dn;
10079 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
10080 uint32_t _ptr_source_dsa_address;
10081 TALLOC_CTX *_mem_save_source_dsa_address_0;
10082 uint32_t _ptr_transport_obj_dn;
10083 TALLOC_CTX *_mem_save_transport_obj_dn_0;
10084 if (ndr_flags & NDR_SCALARS) {
10085 NDR_CHECK(ndr_pull_align(ndr, 8));
10086 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
10087 if (_ptr_naming_context_dn) {
10088 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
10089 } else {
10090 r->naming_context_dn = NULL;
10092 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
10093 if (_ptr_source_dsa_obj_dn) {
10094 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
10095 } else {
10096 r->source_dsa_obj_dn = NULL;
10098 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
10099 if (_ptr_source_dsa_address) {
10100 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
10101 } else {
10102 r->source_dsa_address = NULL;
10104 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
10105 if (_ptr_transport_obj_dn) {
10106 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
10107 } else {
10108 r->transport_obj_dn = NULL;
10110 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
10111 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10112 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
10113 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
10114 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10115 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
10116 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
10117 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
10118 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
10119 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
10120 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
10121 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
10122 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10124 if (ndr_flags & NDR_BUFFERS) {
10125 if (r->naming_context_dn) {
10126 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10127 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
10128 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
10129 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
10130 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
10131 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->naming_context_dn), ndr_get_array_length(ndr, &r->naming_context_dn));
10133 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
10134 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->naming_context_dn, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t), CH_UTF16));
10135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
10137 if (r->source_dsa_obj_dn) {
10138 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10139 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
10140 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
10141 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
10142 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
10143 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_obj_dn), ndr_get_array_length(ndr, &r->source_dsa_obj_dn));
10145 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
10146 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
10147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10149 if (r->source_dsa_address) {
10150 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10151 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
10152 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
10153 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
10154 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
10155 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
10157 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
10158 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
10159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
10161 if (r->transport_obj_dn) {
10162 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10163 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
10164 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
10165 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
10166 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
10167 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->transport_obj_dn), ndr_get_array_length(ndr, &r->transport_obj_dn));
10169 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
10170 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->transport_obj_dn, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t), CH_UTF16));
10171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
10174 return NDR_ERR_SUCCESS;
10177 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
10179 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
10180 ndr->depth++;
10181 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
10182 ndr->depth++;
10183 if (r->naming_context_dn) {
10184 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
10186 ndr->depth--;
10187 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10188 ndr->depth++;
10189 if (r->source_dsa_obj_dn) {
10190 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10192 ndr->depth--;
10193 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
10194 ndr->depth++;
10195 if (r->source_dsa_address) {
10196 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
10198 ndr->depth--;
10199 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
10200 ndr->depth++;
10201 if (r->transport_obj_dn) {
10202 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
10204 ndr->depth--;
10205 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
10206 ndr_print_uint32(ndr, "reserved", r->reserved);
10207 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
10208 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
10209 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10210 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
10211 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
10212 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10213 ndr_print_NTTIME(ndr, "last_success", r->last_success);
10214 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
10215 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
10216 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
10217 ndr->depth--;
10220 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
10222 uint32_t cntr_array_0;
10223 if (ndr_flags & NDR_SCALARS) {
10224 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10225 NDR_CHECK(ndr_push_align(ndr, 8));
10226 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10227 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10228 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10229 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10231 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10233 if (ndr_flags & NDR_BUFFERS) {
10234 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10235 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10238 return NDR_ERR_SUCCESS;
10241 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
10243 uint32_t cntr_array_0;
10244 TALLOC_CTX *_mem_save_array_0;
10245 if (ndr_flags & NDR_SCALARS) {
10246 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10247 NDR_CHECK(ndr_pull_align(ndr, 8));
10248 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10249 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10250 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10251 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10252 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10253 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10254 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10256 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10257 if (r->array) {
10258 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10260 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10262 if (ndr_flags & NDR_BUFFERS) {
10263 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10264 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10265 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10266 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10268 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10270 return NDR_ERR_SUCCESS;
10273 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
10275 uint32_t cntr_array_0;
10276 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
10277 ndr->depth++;
10278 ndr_print_uint32(ndr, "count", r->count);
10279 ndr_print_uint32(ndr, "reserved", r->reserved);
10280 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10281 ndr->depth++;
10282 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10283 char *idx_0=NULL;
10284 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10285 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
10286 free(idx_0);
10289 ndr->depth--;
10290 ndr->depth--;
10293 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
10295 uint32_t cntr_array_0;
10296 if (ndr_flags & NDR_SCALARS) {
10297 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10298 NDR_CHECK(ndr_push_align(ndr, 8));
10299 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10300 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10301 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10302 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10304 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10306 if (ndr_flags & NDR_BUFFERS) {
10308 return NDR_ERR_SUCCESS;
10311 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
10313 uint32_t cntr_array_0;
10314 TALLOC_CTX *_mem_save_array_0;
10315 if (ndr_flags & NDR_SCALARS) {
10316 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10317 NDR_CHECK(ndr_pull_align(ndr, 8));
10318 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10319 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10320 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10321 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10322 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10323 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10324 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10326 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10327 if (r->array) {
10328 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10330 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10332 if (ndr_flags & NDR_BUFFERS) {
10334 return NDR_ERR_SUCCESS;
10337 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
10339 uint32_t cntr_array_0;
10340 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
10341 ndr->depth++;
10342 ndr_print_uint32(ndr, "count", r->count);
10343 ndr_print_uint32(ndr, "reserved", r->reserved);
10344 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10345 ndr->depth++;
10346 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10347 char *idx_0=NULL;
10348 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10349 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
10350 free(idx_0);
10353 ndr->depth--;
10354 ndr->depth--;
10357 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
10359 if (ndr_flags & NDR_SCALARS) {
10360 NDR_CHECK(ndr_push_align(ndr, 8));
10361 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10363 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10364 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10365 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10366 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10367 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10369 if (ndr_flags & NDR_BUFFERS) {
10370 if (r->attribute_name) {
10371 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10372 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10373 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10374 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10377 return NDR_ERR_SUCCESS;
10380 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
10382 uint32_t _ptr_attribute_name;
10383 TALLOC_CTX *_mem_save_attribute_name_0;
10384 if (ndr_flags & NDR_SCALARS) {
10385 NDR_CHECK(ndr_pull_align(ndr, 8));
10386 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10387 if (_ptr_attribute_name) {
10388 NDR_PULL_ALLOC(ndr, r->attribute_name);
10389 } else {
10390 r->attribute_name = NULL;
10392 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10393 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10394 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10395 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10396 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10397 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10399 if (ndr_flags & NDR_BUFFERS) {
10400 if (r->attribute_name) {
10401 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10402 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10403 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10404 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10405 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10406 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
10408 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10409 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10410 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10413 return NDR_ERR_SUCCESS;
10416 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
10418 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
10419 ndr->depth++;
10420 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10421 ndr->depth++;
10422 if (r->attribute_name) {
10423 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10425 ndr->depth--;
10426 ndr_print_uint32(ndr, "version", r->version);
10427 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10428 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10429 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10430 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10431 ndr->depth--;
10434 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10436 uint32_t cntr_array_0;
10437 if (ndr_flags & NDR_SCALARS) {
10438 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10439 NDR_CHECK(ndr_push_align(ndr, 8));
10440 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10441 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10442 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10443 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10445 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10447 if (ndr_flags & NDR_BUFFERS) {
10448 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10449 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10452 return NDR_ERR_SUCCESS;
10455 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
10457 uint32_t cntr_array_0;
10458 TALLOC_CTX *_mem_save_array_0;
10459 if (ndr_flags & NDR_SCALARS) {
10460 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10461 NDR_CHECK(ndr_pull_align(ndr, 8));
10462 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10463 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10464 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10465 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10466 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10467 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10468 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10471 if (r->array) {
10472 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10474 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10476 if (ndr_flags & NDR_BUFFERS) {
10477 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10478 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10479 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10480 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10482 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10484 return NDR_ERR_SUCCESS;
10487 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10489 uint32_t cntr_array_0;
10490 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
10491 ndr->depth++;
10492 ndr_print_uint32(ndr, "count", r->count);
10493 ndr_print_uint32(ndr, "reserved", r->reserved);
10494 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10495 ndr->depth++;
10496 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10497 char *idx_0=NULL;
10498 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10499 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
10500 free(idx_0);
10503 ndr->depth--;
10504 ndr->depth--;
10507 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
10509 if (ndr_flags & NDR_SCALARS) {
10510 NDR_CHECK(ndr_push_align(ndr, 5));
10511 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
10512 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10513 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
10514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
10515 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
10516 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10518 if (ndr_flags & NDR_BUFFERS) {
10519 if (r->dsa_obj_dn) {
10520 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10521 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10522 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10523 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));
10526 return NDR_ERR_SUCCESS;
10529 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
10531 uint32_t _ptr_dsa_obj_dn;
10532 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
10533 if (ndr_flags & NDR_SCALARS) {
10534 NDR_CHECK(ndr_pull_align(ndr, 5));
10535 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
10536 if (_ptr_dsa_obj_dn) {
10537 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
10538 } else {
10539 r->dsa_obj_dn = NULL;
10541 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10542 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
10543 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
10544 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
10545 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10547 if (ndr_flags & NDR_BUFFERS) {
10548 if (r->dsa_obj_dn) {
10549 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10550 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
10551 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
10552 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
10553 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
10554 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dsa_obj_dn), ndr_get_array_length(ndr, &r->dsa_obj_dn));
10556 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
10557 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dsa_obj_dn, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
10558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
10561 return NDR_ERR_SUCCESS;
10564 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
10566 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
10567 ndr->depth++;
10568 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10569 ndr->depth++;
10570 if (r->dsa_obj_dn) {
10571 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10573 ndr->depth--;
10574 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
10575 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
10576 ndr_print_uint32(ndr, "num_failures", r->num_failures);
10577 ndr_print_WERROR(ndr, "last_result", r->last_result);
10578 ndr->depth--;
10581 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10583 uint32_t cntr_array_0;
10584 if (ndr_flags & NDR_SCALARS) {
10585 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10586 NDR_CHECK(ndr_push_align(ndr, 5));
10587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10589 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10590 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10592 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10594 if (ndr_flags & NDR_BUFFERS) {
10595 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10596 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10599 return NDR_ERR_SUCCESS;
10602 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10604 uint32_t cntr_array_0;
10605 TALLOC_CTX *_mem_save_array_0;
10606 if (ndr_flags & NDR_SCALARS) {
10607 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10608 NDR_CHECK(ndr_pull_align(ndr, 5));
10609 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10610 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10611 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10612 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10613 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10614 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10615 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10617 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10618 if (r->array) {
10619 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10621 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10623 if (ndr_flags & NDR_BUFFERS) {
10624 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10625 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10626 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10627 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10629 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10631 return NDR_ERR_SUCCESS;
10634 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10636 uint32_t cntr_array_0;
10637 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
10638 ndr->depth++;
10639 ndr_print_uint32(ndr, "count", r->count);
10640 ndr_print_uint32(ndr, "reserved", r->reserved);
10641 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10642 ndr->depth++;
10643 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10644 char *idx_0=NULL;
10645 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10646 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
10647 free(idx_0);
10650 ndr->depth--;
10651 ndr->depth--;
10654 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
10656 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
10657 return NDR_ERR_SUCCESS;
10660 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
10662 uint16_t v;
10663 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
10664 *r = v;
10665 return NDR_ERR_SUCCESS;
10668 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
10670 const char *val = NULL;
10672 switch (r) {
10673 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10674 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10675 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10676 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10677 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10679 ndr_print_enum(ndr, name, "ENUM", val, r);
10682 static enum ndr_err_code ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRplicaOpOptions *r)
10684 if (ndr_flags & NDR_SCALARS) {
10685 int level = ndr_push_get_switch_value(ndr, r);
10686 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, level));
10687 NDR_CHECK(ndr_push_union_align(ndr, 4));
10688 switch (level) {
10689 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10690 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->sync));
10691 break; }
10693 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10694 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->add));
10695 break; }
10697 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10698 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->op_delete));
10699 break; }
10701 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10702 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->modify));
10703 break; }
10705 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10706 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->update_refs));
10707 break; }
10709 default: {
10710 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
10711 break; }
10715 if (ndr_flags & NDR_BUFFERS) {
10716 int level = ndr_push_get_switch_value(ndr, r);
10717 switch (level) {
10718 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10719 break;
10721 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10722 break;
10724 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10725 break;
10727 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10728 break;
10730 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10731 break;
10733 default:
10734 break;
10738 return NDR_ERR_SUCCESS;
10741 static enum ndr_err_code ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRplicaOpOptions *r)
10743 int level;
10744 uint16_t _level;
10745 level = ndr_pull_get_switch_value(ndr, r);
10746 if (ndr_flags & NDR_SCALARS) {
10747 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
10748 if (_level != level) {
10749 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10751 NDR_CHECK(ndr_pull_union_align(ndr, 4));
10752 switch (level) {
10753 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10754 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->sync));
10755 break; }
10757 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10758 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->add));
10759 break; }
10761 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10762 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->op_delete));
10763 break; }
10765 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10766 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->modify));
10767 break; }
10769 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10770 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->update_refs));
10771 break; }
10773 default: {
10774 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
10775 break; }
10779 if (ndr_flags & NDR_BUFFERS) {
10780 switch (level) {
10781 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10782 break;
10784 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10785 break;
10787 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10788 break;
10790 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10791 break;
10793 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10794 break;
10796 default:
10797 break;
10801 return NDR_ERR_SUCCESS;
10804 _PUBLIC_ void ndr_print_drsuapi_DsRplicaOpOptions(struct ndr_print *ndr, const char *name, const union drsuapi_DsRplicaOpOptions *r)
10806 int level;
10807 level = ndr_print_get_switch_value(ndr, r);
10808 ndr_print_union(ndr, name, level, "drsuapi_DsRplicaOpOptions");
10809 switch (level) {
10810 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10811 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "sync", r->sync);
10812 break;
10814 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10815 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "add", r->add);
10816 break;
10818 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10819 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "op_delete", r->op_delete);
10820 break;
10822 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10823 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "modify", r->modify);
10824 break;
10826 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10827 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "update_refs", r->update_refs);
10828 break;
10830 default:
10831 ndr_print_uint32(ndr, "unknown", r->unknown);
10832 break;
10837 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
10839 if (ndr_flags & NDR_SCALARS) {
10840 NDR_CHECK(ndr_push_align(ndr, 5));
10841 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
10842 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
10843 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
10844 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
10845 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->options, r->operation_type));
10846 NDR_CHECK(ndr_push_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10847 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
10848 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
10849 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
10850 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10851 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10852 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10854 if (ndr_flags & NDR_BUFFERS) {
10855 if (r->nc_dn) {
10856 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10857 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10858 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10859 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10861 if (r->remote_dsa_obj_dn) {
10862 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10863 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10864 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10865 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));
10867 if (r->remote_dsa_address) {
10868 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10869 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10870 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10871 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));
10874 return NDR_ERR_SUCCESS;
10877 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
10879 uint32_t _ptr_nc_dn;
10880 TALLOC_CTX *_mem_save_nc_dn_0;
10881 uint32_t _ptr_remote_dsa_obj_dn;
10882 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
10883 uint32_t _ptr_remote_dsa_address;
10884 TALLOC_CTX *_mem_save_remote_dsa_address_0;
10885 if (ndr_flags & NDR_SCALARS) {
10886 NDR_CHECK(ndr_pull_align(ndr, 5));
10887 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
10888 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
10889 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
10890 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
10891 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->options, r->operation_type));
10892 NDR_CHECK(ndr_pull_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10893 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
10894 if (_ptr_nc_dn) {
10895 NDR_PULL_ALLOC(ndr, r->nc_dn);
10896 } else {
10897 r->nc_dn = NULL;
10899 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
10900 if (_ptr_remote_dsa_obj_dn) {
10901 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
10902 } else {
10903 r->remote_dsa_obj_dn = NULL;
10905 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
10906 if (_ptr_remote_dsa_address) {
10907 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
10908 } else {
10909 r->remote_dsa_address = NULL;
10911 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10912 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10913 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10915 if (ndr_flags & NDR_BUFFERS) {
10916 if (r->nc_dn) {
10917 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10918 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
10919 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
10920 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
10921 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
10922 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->nc_dn), ndr_get_array_length(ndr, &r->nc_dn));
10924 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
10925 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
10926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
10928 if (r->remote_dsa_obj_dn) {
10929 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10930 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
10931 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
10932 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
10933 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
10934 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote_dsa_obj_dn), ndr_get_array_length(ndr, &r->remote_dsa_obj_dn));
10936 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
10937 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_obj_dn, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
10938 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
10940 if (r->remote_dsa_address) {
10941 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10942 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
10943 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
10944 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
10945 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
10946 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote_dsa_address), ndr_get_array_length(ndr, &r->remote_dsa_address));
10948 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
10949 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_address, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t), CH_UTF16));
10950 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
10953 return NDR_ERR_SUCCESS;
10956 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
10958 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
10959 ndr->depth++;
10960 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
10961 ndr_print_uint32(ndr, "serial_num", r->serial_num);
10962 ndr_print_uint32(ndr, "priority", r->priority);
10963 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
10964 ndr_print_set_switch_value(ndr, &r->options, r->operation_type);
10965 ndr_print_drsuapi_DsRplicaOpOptions(ndr, "options", &r->options);
10966 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
10967 ndr->depth++;
10968 if (r->nc_dn) {
10969 ndr_print_string(ndr, "nc_dn", r->nc_dn);
10971 ndr->depth--;
10972 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10973 ndr->depth++;
10974 if (r->remote_dsa_obj_dn) {
10975 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10977 ndr->depth--;
10978 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
10979 ndr->depth++;
10980 if (r->remote_dsa_address) {
10981 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
10983 ndr->depth--;
10984 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
10985 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
10986 ndr->depth--;
10989 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
10991 uint32_t cntr_array_0;
10992 if (ndr_flags & NDR_SCALARS) {
10993 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10994 NDR_CHECK(ndr_push_align(ndr, 5));
10995 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
10996 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10997 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10998 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11000 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11002 if (ndr_flags & NDR_BUFFERS) {
11003 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11004 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11007 return NDR_ERR_SUCCESS;
11010 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
11012 uint32_t cntr_array_0;
11013 TALLOC_CTX *_mem_save_array_0;
11014 if (ndr_flags & NDR_SCALARS) {
11015 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11016 NDR_CHECK(ndr_pull_align(ndr, 5));
11017 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
11018 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11019 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11020 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11021 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11022 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11023 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11025 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11026 if (r->array) {
11027 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11029 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11031 if (ndr_flags & NDR_BUFFERS) {
11032 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11033 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11034 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11035 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11037 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11039 return NDR_ERR_SUCCESS;
11042 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
11044 uint32_t cntr_array_0;
11045 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
11046 ndr->depth++;
11047 ndr_print_NTTIME(ndr, "time", r->time);
11048 ndr_print_uint32(ndr, "count", r->count);
11049 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11050 ndr->depth++;
11051 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11052 char *idx_0=NULL;
11053 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11054 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
11055 free(idx_0);
11058 ndr->depth--;
11059 ndr->depth--;
11062 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
11064 if (ndr_flags & NDR_SCALARS) {
11065 NDR_CHECK(ndr_push_align(ndr, 8));
11066 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11067 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11068 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11069 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11070 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11071 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11072 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11073 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11074 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11075 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11076 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11077 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11079 if (ndr_flags & NDR_BUFFERS) {
11080 if (r->attribute_name) {
11081 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11082 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11083 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11084 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11086 if (r->object_dn) {
11087 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11088 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11089 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11090 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11092 if (r->binary) {
11093 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11096 return NDR_ERR_SUCCESS;
11099 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
11101 uint32_t _ptr_attribute_name;
11102 TALLOC_CTX *_mem_save_attribute_name_0;
11103 uint32_t _ptr_object_dn;
11104 TALLOC_CTX *_mem_save_object_dn_0;
11105 uint32_t _ptr_binary;
11106 TALLOC_CTX *_mem_save_binary_0;
11107 if (ndr_flags & NDR_SCALARS) {
11108 NDR_CHECK(ndr_pull_align(ndr, 8));
11109 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11110 if (_ptr_attribute_name) {
11111 NDR_PULL_ALLOC(ndr, r->attribute_name);
11112 } else {
11113 r->attribute_name = NULL;
11115 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11116 if (_ptr_object_dn) {
11117 NDR_PULL_ALLOC(ndr, r->object_dn);
11118 } else {
11119 r->object_dn = NULL;
11121 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11122 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11123 if (_ptr_binary) {
11124 NDR_PULL_ALLOC(ndr, r->binary);
11125 } else {
11126 r->binary = NULL;
11128 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11129 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11130 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11131 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11132 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11133 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11134 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11135 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11137 if (ndr_flags & NDR_BUFFERS) {
11138 if (r->attribute_name) {
11139 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11140 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11141 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11142 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11143 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11144 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
11146 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11147 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11148 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11150 if (r->object_dn) {
11151 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11152 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11153 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11154 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11155 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11156 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
11158 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11159 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11160 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11162 if (r->binary) {
11163 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11164 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11165 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11169 return NDR_ERR_SUCCESS;
11172 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
11174 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
11175 ndr->depth++;
11176 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11177 ndr->depth++;
11178 if (r->attribute_name) {
11179 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11181 ndr->depth--;
11182 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11183 ndr->depth++;
11184 if (r->object_dn) {
11185 ndr_print_string(ndr, "object_dn", r->object_dn);
11187 ndr->depth--;
11188 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);
11189 ndr_print_ptr(ndr, "binary", r->binary);
11190 ndr->depth++;
11191 if (r->binary) {
11192 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11194 ndr->depth--;
11195 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11196 ndr_print_NTTIME(ndr, "created", r->created);
11197 ndr_print_uint32(ndr, "version", r->version);
11198 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11199 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11200 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11201 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11202 ndr->depth--;
11205 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11207 uint32_t cntr_array_0;
11208 if (ndr_flags & NDR_SCALARS) {
11209 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11210 NDR_CHECK(ndr_push_align(ndr, 8));
11211 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11212 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11213 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11214 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11216 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11218 if (ndr_flags & NDR_BUFFERS) {
11219 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11220 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11223 return NDR_ERR_SUCCESS;
11226 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11228 uint32_t cntr_array_0;
11229 TALLOC_CTX *_mem_save_array_0;
11230 if (ndr_flags & NDR_SCALARS) {
11231 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11232 NDR_CHECK(ndr_pull_align(ndr, 8));
11233 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11234 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11235 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11236 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11237 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11238 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11239 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11242 if (r->array) {
11243 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11245 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11247 if (ndr_flags & NDR_BUFFERS) {
11248 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11249 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11250 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11251 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11253 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11255 return NDR_ERR_SUCCESS;
11258 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11260 uint32_t cntr_array_0;
11261 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
11262 ndr->depth++;
11263 ndr_print_uint32(ndr, "count", r->count);
11264 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11265 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11266 ndr->depth++;
11267 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11268 char *idx_0=NULL;
11269 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11270 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
11271 free(idx_0);
11274 ndr->depth--;
11275 ndr->depth--;
11278 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
11280 uint32_t cntr_array_0;
11281 if (ndr_flags & NDR_SCALARS) {
11282 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11283 NDR_CHECK(ndr_push_align(ndr, 8));
11284 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11285 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11286 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11287 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11289 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11291 if (ndr_flags & NDR_BUFFERS) {
11293 return NDR_ERR_SUCCESS;
11296 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
11298 uint32_t cntr_array_0;
11299 TALLOC_CTX *_mem_save_array_0;
11300 if (ndr_flags & NDR_SCALARS) {
11301 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11302 NDR_CHECK(ndr_pull_align(ndr, 8));
11303 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11304 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11305 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11306 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11307 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11308 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11309 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11311 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11312 if (r->array) {
11313 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11315 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11317 if (ndr_flags & NDR_BUFFERS) {
11319 return NDR_ERR_SUCCESS;
11322 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
11324 uint32_t cntr_array_0;
11325 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
11326 ndr->depth++;
11327 ndr_print_uint32(ndr, "count", r->count);
11328 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11329 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11330 ndr->depth++;
11331 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11332 char *idx_0=NULL;
11333 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11334 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
11335 free(idx_0);
11338 ndr->depth--;
11339 ndr->depth--;
11342 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
11344 if (ndr_flags & NDR_SCALARS) {
11345 NDR_CHECK(ndr_push_align(ndr, 8));
11346 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11347 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11348 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
11349 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11350 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11352 if (ndr_flags & NDR_BUFFERS) {
11353 if (r->source_dsa_obj_dn) {
11354 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11355 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11356 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11357 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));
11360 return NDR_ERR_SUCCESS;
11363 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
11365 uint32_t _ptr_source_dsa_obj_dn;
11366 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
11367 if (ndr_flags & NDR_SCALARS) {
11368 NDR_CHECK(ndr_pull_align(ndr, 8));
11369 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11370 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11371 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
11372 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11373 if (_ptr_source_dsa_obj_dn) {
11374 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11375 } else {
11376 r->source_dsa_obj_dn = NULL;
11378 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11380 if (ndr_flags & NDR_BUFFERS) {
11381 if (r->source_dsa_obj_dn) {
11382 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11383 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11384 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11385 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11386 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
11387 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_obj_dn), ndr_get_array_length(ndr, &r->source_dsa_obj_dn));
11389 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
11390 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
11391 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11394 return NDR_ERR_SUCCESS;
11397 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
11399 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
11400 ndr->depth++;
11401 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11402 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11403 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
11404 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11405 ndr->depth++;
11406 if (r->source_dsa_obj_dn) {
11407 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11409 ndr->depth--;
11410 ndr->depth--;
11413 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
11415 uint32_t cntr_array_0;
11416 if (ndr_flags & NDR_SCALARS) {
11417 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11418 NDR_CHECK(ndr_push_align(ndr, 8));
11419 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11420 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11421 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11422 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11424 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11426 if (ndr_flags & NDR_BUFFERS) {
11427 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11428 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11431 return NDR_ERR_SUCCESS;
11434 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
11436 uint32_t cntr_array_0;
11437 TALLOC_CTX *_mem_save_array_0;
11438 if (ndr_flags & NDR_SCALARS) {
11439 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11440 NDR_CHECK(ndr_pull_align(ndr, 8));
11441 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11442 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11443 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11444 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11445 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11446 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11447 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11450 if (r->array) {
11451 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11453 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11455 if (ndr_flags & NDR_BUFFERS) {
11456 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11457 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11458 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11459 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11461 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11463 return NDR_ERR_SUCCESS;
11466 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
11468 uint32_t cntr_array_0;
11469 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
11470 ndr->depth++;
11471 ndr_print_uint32(ndr, "count", r->count);
11472 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11473 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11474 ndr->depth++;
11475 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11476 char *idx_0=NULL;
11477 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11478 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
11479 free(idx_0);
11482 ndr->depth--;
11483 ndr->depth--;
11486 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
11488 if (ndr_flags & NDR_SCALARS) {
11489 NDR_CHECK(ndr_push_align(ndr, 8));
11490 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11491 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11492 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11493 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11494 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11495 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11496 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11497 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11499 if (ndr_flags & NDR_BUFFERS) {
11500 if (r->attribute_name) {
11501 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11502 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11503 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11504 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11506 if (r->originating_dsa_dn) {
11507 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11508 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11509 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11510 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));
11513 return NDR_ERR_SUCCESS;
11516 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
11518 uint32_t _ptr_attribute_name;
11519 TALLOC_CTX *_mem_save_attribute_name_0;
11520 uint32_t _ptr_originating_dsa_dn;
11521 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11522 if (ndr_flags & NDR_SCALARS) {
11523 NDR_CHECK(ndr_pull_align(ndr, 8));
11524 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11525 if (_ptr_attribute_name) {
11526 NDR_PULL_ALLOC(ndr, r->attribute_name);
11527 } else {
11528 r->attribute_name = NULL;
11530 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11531 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11532 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11533 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11534 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11535 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11536 if (_ptr_originating_dsa_dn) {
11537 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11538 } else {
11539 r->originating_dsa_dn = NULL;
11541 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11543 if (ndr_flags & NDR_BUFFERS) {
11544 if (r->attribute_name) {
11545 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11546 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11547 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11548 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11549 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11550 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
11552 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11553 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11554 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11556 if (r->originating_dsa_dn) {
11557 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11558 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11559 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11560 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11561 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11562 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->originating_dsa_dn), ndr_get_array_length(ndr, &r->originating_dsa_dn));
11564 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11565 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t), CH_UTF16));
11566 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11569 return NDR_ERR_SUCCESS;
11572 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
11574 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
11575 ndr->depth++;
11576 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11577 ndr->depth++;
11578 if (r->attribute_name) {
11579 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11581 ndr->depth--;
11582 ndr_print_uint32(ndr, "version", r->version);
11583 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11584 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11585 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11586 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11587 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11588 ndr->depth++;
11589 if (r->originating_dsa_dn) {
11590 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11592 ndr->depth--;
11593 ndr->depth--;
11596 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11598 uint32_t cntr_array_0;
11599 if (ndr_flags & NDR_SCALARS) {
11600 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11601 NDR_CHECK(ndr_push_align(ndr, 8));
11602 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11603 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11604 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11605 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11607 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11609 if (ndr_flags & NDR_BUFFERS) {
11610 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11611 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11614 return NDR_ERR_SUCCESS;
11617 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11619 uint32_t cntr_array_0;
11620 TALLOC_CTX *_mem_save_array_0;
11621 if (ndr_flags & NDR_SCALARS) {
11622 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11623 NDR_CHECK(ndr_pull_align(ndr, 8));
11624 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11625 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11626 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11627 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11628 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11629 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11630 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11632 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11633 if (r->array) {
11634 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11636 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11638 if (ndr_flags & NDR_BUFFERS) {
11639 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11640 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11641 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11642 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11646 return NDR_ERR_SUCCESS;
11649 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11651 uint32_t cntr_array_0;
11652 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
11653 ndr->depth++;
11654 ndr_print_uint32(ndr, "count", r->count);
11655 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11656 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11657 ndr->depth++;
11658 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11659 char *idx_0=NULL;
11660 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11661 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
11662 free(idx_0);
11665 ndr->depth--;
11666 ndr->depth--;
11669 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11671 if (ndr_flags & NDR_SCALARS) {
11672 NDR_CHECK(ndr_push_align(ndr, 8));
11673 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11674 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11676 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11677 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11678 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11679 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11680 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11681 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11682 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11683 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11684 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11685 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11687 if (ndr_flags & NDR_BUFFERS) {
11688 if (r->attribute_name) {
11689 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11690 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11691 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11692 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11694 if (r->object_dn) {
11695 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11696 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11697 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11698 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11700 if (r->binary) {
11701 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11703 if (r->originating_dsa_dn) {
11704 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11705 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11706 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11707 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));
11710 return NDR_ERR_SUCCESS;
11713 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
11715 uint32_t _ptr_attribute_name;
11716 TALLOC_CTX *_mem_save_attribute_name_0;
11717 uint32_t _ptr_object_dn;
11718 TALLOC_CTX *_mem_save_object_dn_0;
11719 uint32_t _ptr_binary;
11720 TALLOC_CTX *_mem_save_binary_0;
11721 uint32_t _ptr_originating_dsa_dn;
11722 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11723 if (ndr_flags & NDR_SCALARS) {
11724 NDR_CHECK(ndr_pull_align(ndr, 8));
11725 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11726 if (_ptr_attribute_name) {
11727 NDR_PULL_ALLOC(ndr, r->attribute_name);
11728 } else {
11729 r->attribute_name = NULL;
11731 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11732 if (_ptr_object_dn) {
11733 NDR_PULL_ALLOC(ndr, r->object_dn);
11734 } else {
11735 r->object_dn = NULL;
11737 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11738 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11739 if (_ptr_binary) {
11740 NDR_PULL_ALLOC(ndr, r->binary);
11741 } else {
11742 r->binary = NULL;
11744 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11745 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11746 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11747 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11748 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11749 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11750 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11751 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11752 if (_ptr_originating_dsa_dn) {
11753 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11754 } else {
11755 r->originating_dsa_dn = NULL;
11757 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11759 if (ndr_flags & NDR_BUFFERS) {
11760 if (r->attribute_name) {
11761 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11762 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11763 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11764 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11765 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11766 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
11768 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11769 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11770 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11772 if (r->object_dn) {
11773 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11774 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11775 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11776 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11777 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11778 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
11780 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11781 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11784 if (r->binary) {
11785 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11786 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11787 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11788 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11790 if (r->originating_dsa_dn) {
11791 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11792 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11793 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11794 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11795 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11796 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->originating_dsa_dn), ndr_get_array_length(ndr, &r->originating_dsa_dn));
11798 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11799 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t), CH_UTF16));
11800 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11803 return NDR_ERR_SUCCESS;
11806 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11808 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
11809 ndr->depth++;
11810 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11811 ndr->depth++;
11812 if (r->attribute_name) {
11813 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11815 ndr->depth--;
11816 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11817 ndr->depth++;
11818 if (r->object_dn) {
11819 ndr_print_string(ndr, "object_dn", r->object_dn);
11821 ndr->depth--;
11822 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);
11823 ndr_print_ptr(ndr, "binary", r->binary);
11824 ndr->depth++;
11825 if (r->binary) {
11826 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11828 ndr->depth--;
11829 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11830 ndr_print_NTTIME(ndr, "created", r->created);
11831 ndr_print_uint32(ndr, "version", r->version);
11832 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11833 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11834 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11835 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11836 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11837 ndr->depth++;
11838 if (r->originating_dsa_dn) {
11839 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11841 ndr->depth--;
11842 ndr->depth--;
11845 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11847 uint32_t cntr_array_0;
11848 if (ndr_flags & NDR_SCALARS) {
11849 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11850 NDR_CHECK(ndr_push_align(ndr, 8));
11851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11852 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11853 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11854 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11856 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11858 if (ndr_flags & NDR_BUFFERS) {
11859 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11860 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11863 return NDR_ERR_SUCCESS;
11866 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11868 uint32_t cntr_array_0;
11869 TALLOC_CTX *_mem_save_array_0;
11870 if (ndr_flags & NDR_SCALARS) {
11871 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11872 NDR_CHECK(ndr_pull_align(ndr, 8));
11873 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11874 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11875 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11876 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11877 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11878 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11879 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11881 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11882 if (r->array) {
11883 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11885 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11887 if (ndr_flags & NDR_BUFFERS) {
11888 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11889 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11890 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11891 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11893 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11895 return NDR_ERR_SUCCESS;
11898 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11900 uint32_t cntr_array_0;
11901 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11902 ndr->depth++;
11903 ndr_print_uint32(ndr, "count", r->count);
11904 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11905 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11906 ndr->depth++;
11907 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11908 char *idx_0=NULL;
11909 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11910 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
11911 free(idx_0);
11914 ndr->depth--;
11915 ndr->depth--;
11918 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
11920 if (ndr_flags & NDR_SCALARS) {
11921 NDR_CHECK(ndr_push_align(ndr, 8));
11922 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
11923 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11924 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11925 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11926 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
11928 uint32_t _flags_save_ipv4address = ndr->flags;
11929 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11930 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
11931 ndr->flags = _flags_save_ipv4address;
11933 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11934 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11936 if (ndr_flags & NDR_BUFFERS) {
11938 return NDR_ERR_SUCCESS;
11941 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
11943 if (ndr_flags & NDR_SCALARS) {
11944 NDR_CHECK(ndr_pull_align(ndr, 8));
11945 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
11946 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11947 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11948 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11949 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
11951 uint32_t _flags_save_ipv4address = ndr->flags;
11952 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11953 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
11954 ndr->flags = _flags_save_ipv4address;
11956 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11957 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11959 if (ndr_flags & NDR_BUFFERS) {
11961 return NDR_ERR_SUCCESS;
11964 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
11966 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
11967 ndr->depth++;
11968 ndr_print_hyper(ndr, "u1", r->u1);
11969 ndr_print_uint32(ndr, "u2", r->u2);
11970 ndr_print_uint32(ndr, "u3", r->u3);
11971 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
11972 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
11973 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
11974 ndr_print_uint32(ndr, "u5", r->u5);
11975 ndr->depth--;
11978 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
11980 uint32_t cntr_array_0;
11981 if (ndr_flags & NDR_SCALARS) {
11982 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11983 NDR_CHECK(ndr_push_align(ndr, 8));
11984 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11986 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11987 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11989 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11991 if (ndr_flags & NDR_BUFFERS) {
11993 return NDR_ERR_SUCCESS;
11996 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
11998 uint32_t cntr_array_0;
11999 TALLOC_CTX *_mem_save_array_0;
12000 if (ndr_flags & NDR_SCALARS) {
12001 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12002 NDR_CHECK(ndr_pull_align(ndr, 8));
12003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12004 if (r->count > 10000) {
12005 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12007 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12008 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
12009 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12010 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12011 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12012 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12014 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12015 if (r->array) {
12016 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12018 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12020 if (ndr_flags & NDR_BUFFERS) {
12022 return NDR_ERR_SUCCESS;
12025 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
12027 uint32_t cntr_array_0;
12028 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
12029 ndr->depth++;
12030 ndr_print_uint32(ndr, "count", r->count);
12031 ndr_print_uint32(ndr, "reserved", r->reserved);
12032 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12033 ndr->depth++;
12034 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12035 char *idx_0=NULL;
12036 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12037 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
12038 free(idx_0);
12041 ndr->depth--;
12042 ndr->depth--;
12045 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
12047 if (ndr_flags & NDR_SCALARS) {
12048 NDR_CHECK(ndr_push_align(ndr, 8));
12049 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
12050 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
12051 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
12052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
12053 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
12054 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
12055 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
12056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
12057 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12059 if (ndr_flags & NDR_BUFFERS) {
12060 if (r->str1) {
12061 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
12062 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12063 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
12064 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12067 return NDR_ERR_SUCCESS;
12070 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
12072 uint32_t _ptr_str1;
12073 TALLOC_CTX *_mem_save_str1_0;
12074 if (ndr_flags & NDR_SCALARS) {
12075 NDR_CHECK(ndr_pull_align(ndr, 8));
12076 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
12077 if (_ptr_str1) {
12078 NDR_PULL_ALLOC(ndr, r->str1);
12079 } else {
12080 r->str1 = NULL;
12082 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
12083 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
12084 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
12085 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
12086 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
12087 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
12088 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
12089 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12091 if (ndr_flags & NDR_BUFFERS) {
12092 if (r->str1) {
12093 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
12094 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
12095 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
12096 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
12097 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
12098 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->str1), ndr_get_array_length(ndr, &r->str1));
12100 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
12101 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
12102 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
12105 return NDR_ERR_SUCCESS;
12108 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
12110 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
12111 ndr->depth++;
12112 ndr_print_ptr(ndr, "str1", r->str1);
12113 ndr->depth++;
12114 if (r->str1) {
12115 ndr_print_string(ndr, "str1", r->str1);
12117 ndr->depth--;
12118 ndr_print_uint32(ndr, "u1", r->u1);
12119 ndr_print_uint32(ndr, "u2", r->u2);
12120 ndr_print_uint32(ndr, "u3", r->u3);
12121 ndr_print_uint32(ndr, "u4", r->u4);
12122 ndr_print_uint32(ndr, "u5", r->u5);
12123 ndr_print_hyper(ndr, "u6", r->u6);
12124 ndr_print_uint32(ndr, "u7", r->u7);
12125 ndr->depth--;
12128 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
12130 uint32_t cntr_array_0;
12131 if (ndr_flags & NDR_SCALARS) {
12132 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12133 NDR_CHECK(ndr_push_align(ndr, 8));
12134 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
12136 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12137 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12139 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12141 if (ndr_flags & NDR_BUFFERS) {
12142 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12143 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12146 return NDR_ERR_SUCCESS;
12149 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
12151 uint32_t cntr_array_0;
12152 TALLOC_CTX *_mem_save_array_0;
12153 if (ndr_flags & NDR_SCALARS) {
12154 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12155 NDR_CHECK(ndr_pull_align(ndr, 8));
12156 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12157 if (r->count > 256) {
12158 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12160 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12161 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
12162 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12163 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12164 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12165 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12167 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12168 if (r->array) {
12169 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12171 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12173 if (ndr_flags & NDR_BUFFERS) {
12174 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12175 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12176 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12177 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12179 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12181 return NDR_ERR_SUCCESS;
12184 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
12186 uint32_t cntr_array_0;
12187 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
12188 ndr->depth++;
12189 ndr_print_uint32(ndr, "count", r->count);
12190 ndr_print_uint32(ndr, "reserved", r->reserved);
12191 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12192 ndr->depth++;
12193 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12194 char *idx_0=NULL;
12195 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12196 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
12197 free(idx_0);
12200 ndr->depth--;
12201 ndr->depth--;
12204 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
12206 if (ndr_flags & NDR_SCALARS) {
12207 int level = ndr_push_get_switch_value(ndr, r);
12208 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
12209 NDR_CHECK(ndr_push_union_align(ndr, 5));
12210 switch (level) {
12211 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12212 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
12213 break; }
12215 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12216 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
12217 break; }
12219 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12220 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
12221 break; }
12223 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12224 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
12225 break; }
12227 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12228 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
12229 break; }
12231 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12232 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
12233 break; }
12235 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12236 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
12237 break; }
12239 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12240 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
12241 break; }
12243 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12244 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
12245 break; }
12247 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12248 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
12249 break; }
12251 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12252 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
12253 break; }
12255 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
12256 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours02));
12257 break; }
12259 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12260 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connections04));
12261 break; }
12263 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12264 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors05));
12265 break; }
12267 case DRSUAPI_DS_REPLICA_INFO_06: {
12268 NDR_CHECK(ndr_push_unique_ptr(ndr, r->i06));
12269 break; }
12271 default:
12272 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12275 if (ndr_flags & NDR_BUFFERS) {
12276 int level = ndr_push_get_switch_value(ndr, r);
12277 switch (level) {
12278 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12279 if (r->neighbours) {
12280 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12282 break;
12284 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12285 if (r->cursors) {
12286 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12288 break;
12290 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12291 if (r->objmetadata) {
12292 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12294 break;
12296 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12297 if (r->connectfailures) {
12298 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12300 break;
12302 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12303 if (r->linkfailures) {
12304 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12306 break;
12308 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12309 if (r->pendingops) {
12310 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12312 break;
12314 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12315 if (r->attrvalmetadata) {
12316 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12318 break;
12320 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12321 if (r->cursors2) {
12322 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12324 break;
12326 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12327 if (r->cursors3) {
12328 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12330 break;
12332 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12333 if (r->objmetadata2) {
12334 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12336 break;
12338 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12339 if (r->attrvalmetadata2) {
12340 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12342 break;
12344 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12345 if (r->neighbours02) {
12346 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12348 break;
12350 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12351 if (r->connections04) {
12352 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12354 break;
12356 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12357 if (r->cursors05) {
12358 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12360 break;
12362 case DRSUAPI_DS_REPLICA_INFO_06:
12363 if (r->i06) {
12364 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12366 break;
12368 default:
12369 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12372 return NDR_ERR_SUCCESS;
12375 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
12377 int level;
12378 uint32_t _level;
12379 TALLOC_CTX *_mem_save_neighbours_0;
12380 TALLOC_CTX *_mem_save_cursors_0;
12381 TALLOC_CTX *_mem_save_objmetadata_0;
12382 TALLOC_CTX *_mem_save_connectfailures_0;
12383 TALLOC_CTX *_mem_save_linkfailures_0;
12384 TALLOC_CTX *_mem_save_pendingops_0;
12385 TALLOC_CTX *_mem_save_attrvalmetadata_0;
12386 TALLOC_CTX *_mem_save_cursors2_0;
12387 TALLOC_CTX *_mem_save_cursors3_0;
12388 TALLOC_CTX *_mem_save_objmetadata2_0;
12389 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
12390 TALLOC_CTX *_mem_save_neighbours02_0;
12391 TALLOC_CTX *_mem_save_connections04_0;
12392 TALLOC_CTX *_mem_save_cursors05_0;
12393 TALLOC_CTX *_mem_save_i06_0;
12394 level = ndr_pull_get_switch_value(ndr, r);
12395 if (ndr_flags & NDR_SCALARS) {
12396 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12397 if (_level != level) {
12398 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12400 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12401 switch (level) {
12402 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12403 uint32_t _ptr_neighbours;
12404 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
12405 if (_ptr_neighbours) {
12406 NDR_PULL_ALLOC(ndr, r->neighbours);
12407 } else {
12408 r->neighbours = NULL;
12410 break; }
12412 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12413 uint32_t _ptr_cursors;
12414 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
12415 if (_ptr_cursors) {
12416 NDR_PULL_ALLOC(ndr, r->cursors);
12417 } else {
12418 r->cursors = NULL;
12420 break; }
12422 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12423 uint32_t _ptr_objmetadata;
12424 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
12425 if (_ptr_objmetadata) {
12426 NDR_PULL_ALLOC(ndr, r->objmetadata);
12427 } else {
12428 r->objmetadata = NULL;
12430 break; }
12432 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12433 uint32_t _ptr_connectfailures;
12434 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
12435 if (_ptr_connectfailures) {
12436 NDR_PULL_ALLOC(ndr, r->connectfailures);
12437 } else {
12438 r->connectfailures = NULL;
12440 break; }
12442 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12443 uint32_t _ptr_linkfailures;
12444 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
12445 if (_ptr_linkfailures) {
12446 NDR_PULL_ALLOC(ndr, r->linkfailures);
12447 } else {
12448 r->linkfailures = NULL;
12450 break; }
12452 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12453 uint32_t _ptr_pendingops;
12454 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
12455 if (_ptr_pendingops) {
12456 NDR_PULL_ALLOC(ndr, r->pendingops);
12457 } else {
12458 r->pendingops = NULL;
12460 break; }
12462 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12463 uint32_t _ptr_attrvalmetadata;
12464 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
12465 if (_ptr_attrvalmetadata) {
12466 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
12467 } else {
12468 r->attrvalmetadata = NULL;
12470 break; }
12472 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12473 uint32_t _ptr_cursors2;
12474 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
12475 if (_ptr_cursors2) {
12476 NDR_PULL_ALLOC(ndr, r->cursors2);
12477 } else {
12478 r->cursors2 = NULL;
12480 break; }
12482 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12483 uint32_t _ptr_cursors3;
12484 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
12485 if (_ptr_cursors3) {
12486 NDR_PULL_ALLOC(ndr, r->cursors3);
12487 } else {
12488 r->cursors3 = NULL;
12490 break; }
12492 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12493 uint32_t _ptr_objmetadata2;
12494 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
12495 if (_ptr_objmetadata2) {
12496 NDR_PULL_ALLOC(ndr, r->objmetadata2);
12497 } else {
12498 r->objmetadata2 = NULL;
12500 break; }
12502 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12503 uint32_t _ptr_attrvalmetadata2;
12504 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
12505 if (_ptr_attrvalmetadata2) {
12506 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
12507 } else {
12508 r->attrvalmetadata2 = NULL;
12510 break; }
12512 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
12513 uint32_t _ptr_neighbours02;
12514 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours02));
12515 if (_ptr_neighbours02) {
12516 NDR_PULL_ALLOC(ndr, r->neighbours02);
12517 } else {
12518 r->neighbours02 = NULL;
12520 break; }
12522 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12523 uint32_t _ptr_connections04;
12524 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connections04));
12525 if (_ptr_connections04) {
12526 NDR_PULL_ALLOC(ndr, r->connections04);
12527 } else {
12528 r->connections04 = NULL;
12530 break; }
12532 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12533 uint32_t _ptr_cursors05;
12534 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors05));
12535 if (_ptr_cursors05) {
12536 NDR_PULL_ALLOC(ndr, r->cursors05);
12537 } else {
12538 r->cursors05 = NULL;
12540 break; }
12542 case DRSUAPI_DS_REPLICA_INFO_06: {
12543 uint32_t _ptr_i06;
12544 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_i06));
12545 if (_ptr_i06) {
12546 NDR_PULL_ALLOC(ndr, r->i06);
12547 } else {
12548 r->i06 = NULL;
12550 break; }
12552 default:
12553 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12556 if (ndr_flags & NDR_BUFFERS) {
12557 switch (level) {
12558 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12559 if (r->neighbours) {
12560 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
12561 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
12562 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
12565 break;
12567 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12568 if (r->cursors) {
12569 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
12570 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
12571 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12572 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
12574 break;
12576 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12577 if (r->objmetadata) {
12578 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12579 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
12580 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12581 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
12583 break;
12585 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12586 if (r->connectfailures) {
12587 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12588 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
12589 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12590 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
12592 break;
12594 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12595 if (r->linkfailures) {
12596 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12597 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
12598 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12599 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
12601 break;
12603 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12604 if (r->pendingops) {
12605 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
12606 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
12607 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12608 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
12610 break;
12612 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12613 if (r->attrvalmetadata) {
12614 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12615 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
12616 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12617 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
12619 break;
12621 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12622 if (r->cursors2) {
12623 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12624 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
12625 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
12628 break;
12630 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12631 if (r->cursors3) {
12632 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12633 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
12634 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12635 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
12637 break;
12639 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12640 if (r->objmetadata2) {
12641 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12642 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
12643 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
12646 break;
12648 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12649 if (r->attrvalmetadata2) {
12650 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12651 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
12652 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12653 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
12655 break;
12657 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12658 if (r->neighbours02) {
12659 _mem_save_neighbours02_0 = NDR_PULL_GET_MEM_CTX(ndr);
12660 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours02, 0);
12661 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12662 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours02_0, 0);
12664 break;
12666 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12667 if (r->connections04) {
12668 _mem_save_connections04_0 = NDR_PULL_GET_MEM_CTX(ndr);
12669 NDR_PULL_SET_MEM_CTX(ndr, r->connections04, 0);
12670 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connections04_0, 0);
12673 break;
12675 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12676 if (r->cursors05) {
12677 _mem_save_cursors05_0 = NDR_PULL_GET_MEM_CTX(ndr);
12678 NDR_PULL_SET_MEM_CTX(ndr, r->cursors05, 0);
12679 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12680 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors05_0, 0);
12682 break;
12684 case DRSUAPI_DS_REPLICA_INFO_06:
12685 if (r->i06) {
12686 _mem_save_i06_0 = NDR_PULL_GET_MEM_CTX(ndr);
12687 NDR_PULL_SET_MEM_CTX(ndr, r->i06, 0);
12688 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_i06_0, 0);
12691 break;
12693 default:
12694 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12697 return NDR_ERR_SUCCESS;
12700 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
12702 int level;
12703 level = ndr_print_get_switch_value(ndr, r);
12704 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
12705 switch (level) {
12706 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12707 ndr_print_ptr(ndr, "neighbours", r->neighbours);
12708 ndr->depth++;
12709 if (r->neighbours) {
12710 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
12712 ndr->depth--;
12713 break;
12715 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12716 ndr_print_ptr(ndr, "cursors", r->cursors);
12717 ndr->depth++;
12718 if (r->cursors) {
12719 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
12721 ndr->depth--;
12722 break;
12724 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12725 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
12726 ndr->depth++;
12727 if (r->objmetadata) {
12728 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
12730 ndr->depth--;
12731 break;
12733 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12734 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
12735 ndr->depth++;
12736 if (r->connectfailures) {
12737 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
12739 ndr->depth--;
12740 break;
12742 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12743 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
12744 ndr->depth++;
12745 if (r->linkfailures) {
12746 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
12748 ndr->depth--;
12749 break;
12751 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12752 ndr_print_ptr(ndr, "pendingops", r->pendingops);
12753 ndr->depth++;
12754 if (r->pendingops) {
12755 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
12757 ndr->depth--;
12758 break;
12760 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12761 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
12762 ndr->depth++;
12763 if (r->attrvalmetadata) {
12764 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
12766 ndr->depth--;
12767 break;
12769 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12770 ndr_print_ptr(ndr, "cursors2", r->cursors2);
12771 ndr->depth++;
12772 if (r->cursors2) {
12773 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
12775 ndr->depth--;
12776 break;
12778 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12779 ndr_print_ptr(ndr, "cursors3", r->cursors3);
12780 ndr->depth++;
12781 if (r->cursors3) {
12782 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
12784 ndr->depth--;
12785 break;
12787 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12788 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
12789 ndr->depth++;
12790 if (r->objmetadata2) {
12791 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
12793 ndr->depth--;
12794 break;
12796 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12797 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12798 ndr->depth++;
12799 if (r->attrvalmetadata2) {
12800 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12802 ndr->depth--;
12803 break;
12805 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12806 ndr_print_ptr(ndr, "neighbours02", r->neighbours02);
12807 ndr->depth++;
12808 if (r->neighbours02) {
12809 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours02", r->neighbours02);
12811 ndr->depth--;
12812 break;
12814 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12815 ndr_print_ptr(ndr, "connections04", r->connections04);
12816 ndr->depth++;
12817 if (r->connections04) {
12818 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "connections04", r->connections04);
12820 ndr->depth--;
12821 break;
12823 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12824 ndr_print_ptr(ndr, "cursors05", r->cursors05);
12825 ndr->depth++;
12826 if (r->cursors05) {
12827 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "cursors05", r->cursors05);
12829 ndr->depth--;
12830 break;
12832 case DRSUAPI_DS_REPLICA_INFO_06:
12833 ndr_print_ptr(ndr, "i06", r->i06);
12834 ndr->depth++;
12835 if (r->i06) {
12836 ndr_print_drsuapi_DsReplica06Ctr(ndr, "i06", r->i06);
12838 ndr->depth--;
12839 break;
12841 default:
12842 ndr_print_bad_level(ndr, name, level);
12846 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
12848 if (ndr_flags & NDR_SCALARS) {
12849 int level = ndr_push_get_switch_value(ndr, r);
12850 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12851 NDR_CHECK(ndr_push_union_align(ndr, 5));
12852 switch (level) {
12853 case 1: {
12854 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12855 break; }
12857 default:
12858 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12861 if (ndr_flags & NDR_BUFFERS) {
12862 int level = ndr_push_get_switch_value(ndr, r);
12863 switch (level) {
12864 case 1:
12865 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12866 break;
12868 default:
12869 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12872 return NDR_ERR_SUCCESS;
12875 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
12877 int level;
12878 int32_t _level;
12879 level = ndr_pull_get_switch_value(ndr, r);
12880 if (ndr_flags & NDR_SCALARS) {
12881 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12882 if (_level != level) {
12883 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12885 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12886 switch (level) {
12887 case 1: {
12888 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12889 break; }
12891 default:
12892 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12895 if (ndr_flags & NDR_BUFFERS) {
12896 switch (level) {
12897 case 1:
12898 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12899 break;
12901 default:
12902 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12905 return NDR_ERR_SUCCESS;
12908 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
12910 int level;
12911 level = ndr_print_get_switch_value(ndr, r);
12912 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
12913 switch (level) {
12914 case 1:
12915 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
12916 break;
12918 default:
12919 ndr_print_bad_level(ndr, name, level);
12923 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
12925 uint32_t cntr_req_array_1;
12926 if (ndr_flags & NDR_SCALARS) {
12927 NDR_CHECK(ndr_push_align(ndr, 5));
12928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12929 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
12930 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12932 if (ndr_flags & NDR_BUFFERS) {
12933 if (r->req_array) {
12934 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
12935 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12936 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
12938 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12939 if (r->req_array[cntr_req_array_1]) {
12940 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12945 return NDR_ERR_SUCCESS;
12948 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
12950 uint32_t _ptr_req_array;
12951 uint32_t cntr_req_array_1;
12952 TALLOC_CTX *_mem_save_req_array_0;
12953 TALLOC_CTX *_mem_save_req_array_1;
12954 TALLOC_CTX *_mem_save_req_array_2;
12955 if (ndr_flags & NDR_SCALARS) {
12956 NDR_CHECK(ndr_pull_align(ndr, 5));
12957 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12958 if (r->num_req < 1 || r->num_req > 10000) {
12959 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12961 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12962 if (_ptr_req_array) {
12963 NDR_PULL_ALLOC(ndr, r->req_array);
12964 } else {
12965 r->req_array = NULL;
12967 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12969 if (ndr_flags & NDR_BUFFERS) {
12970 if (r->req_array) {
12971 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12972 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12973 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
12974 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
12975 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12976 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12977 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12978 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12979 if (_ptr_req_array) {
12980 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
12981 } else {
12982 r->req_array[cntr_req_array_1] = NULL;
12985 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12986 if (r->req_array[cntr_req_array_1]) {
12987 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
12988 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
12989 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12990 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
12993 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
12994 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
12996 if (r->req_array) {
12997 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
13000 return NDR_ERR_SUCCESS;
13003 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
13005 uint32_t cntr_req_array_1;
13006 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
13007 ndr->depth++;
13008 ndr_print_uint32(ndr, "num_req", r->num_req);
13009 ndr_print_ptr(ndr, "req_array", r->req_array);
13010 ndr->depth++;
13011 if (r->req_array) {
13012 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
13013 ndr->depth++;
13014 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
13015 char *idx_1=NULL;
13016 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
13017 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
13018 ndr->depth++;
13019 if (r->req_array[cntr_req_array_1]) {
13020 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
13022 ndr->depth--;
13023 free(idx_1);
13026 ndr->depth--;
13028 ndr->depth--;
13029 ndr->depth--;
13032 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
13034 if (ndr_flags & NDR_SCALARS) {
13035 int level = ndr_push_get_switch_value(ndr, r);
13036 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13037 NDR_CHECK(ndr_push_union_align(ndr, 5));
13038 switch (level) {
13039 case 1: {
13040 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
13041 break; }
13043 default:
13044 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13047 if (ndr_flags & NDR_BUFFERS) {
13048 int level = ndr_push_get_switch_value(ndr, r);
13049 switch (level) {
13050 case 1:
13051 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
13052 break;
13054 default:
13055 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13058 return NDR_ERR_SUCCESS;
13061 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
13063 int level;
13064 int32_t _level;
13065 level = ndr_pull_get_switch_value(ndr, r);
13066 if (ndr_flags & NDR_SCALARS) {
13067 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13068 if (_level != level) {
13069 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13071 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13072 switch (level) {
13073 case 1: {
13074 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
13075 break; }
13077 default:
13078 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13081 if (ndr_flags & NDR_BUFFERS) {
13082 switch (level) {
13083 case 1:
13084 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
13085 break;
13087 default:
13088 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13091 return NDR_ERR_SUCCESS;
13094 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
13096 int level;
13097 level = ndr_print_get_switch_value(ndr, r);
13098 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
13099 switch (level) {
13100 case 1:
13101 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
13102 break;
13104 default:
13105 ndr_print_bad_level(ndr, name, level);
13109 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
13111 if (ndr_flags & NDR_SCALARS) {
13112 NDR_CHECK(ndr_push_align(ndr, 4));
13113 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
13114 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
13115 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
13117 if (ndr_flags & NDR_BUFFERS) {
13119 return NDR_ERR_SUCCESS;
13122 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
13124 if (ndr_flags & NDR_SCALARS) {
13125 NDR_CHECK(ndr_pull_align(ndr, 4));
13126 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
13127 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
13128 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
13130 if (ndr_flags & NDR_BUFFERS) {
13132 return NDR_ERR_SUCCESS;
13135 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
13137 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
13138 ndr->depth++;
13139 ndr_print_WERROR(ndr, "error_code", r->error_code);
13140 ndr_print_uint32(ndr, "site_cost", r->site_cost);
13141 ndr->depth--;
13144 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
13146 uint32_t cntr_info_1;
13147 if (ndr_flags & NDR_SCALARS) {
13148 NDR_CHECK(ndr_push_align(ndr, 5));
13149 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
13150 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
13151 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
13152 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13154 if (ndr_flags & NDR_BUFFERS) {
13155 if (r->info) {
13156 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
13157 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13158 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13162 return NDR_ERR_SUCCESS;
13165 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
13167 uint32_t _ptr_info;
13168 uint32_t cntr_info_1;
13169 TALLOC_CTX *_mem_save_info_0;
13170 TALLOC_CTX *_mem_save_info_1;
13171 if (ndr_flags & NDR_SCALARS) {
13172 NDR_CHECK(ndr_pull_align(ndr, 5));
13173 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
13174 if (r->num_info > 10000) {
13175 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13177 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13178 if (_ptr_info) {
13179 NDR_PULL_ALLOC(ndr, r->info);
13180 } else {
13181 r->info = NULL;
13183 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
13184 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13186 if (ndr_flags & NDR_BUFFERS) {
13187 if (r->info) {
13188 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13189 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13190 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
13191 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
13192 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13193 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13194 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13195 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13197 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13198 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
13200 if (r->info) {
13201 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
13204 return NDR_ERR_SUCCESS;
13207 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
13209 uint32_t cntr_info_1;
13210 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
13211 ndr->depth++;
13212 ndr_print_uint32(ndr, "num_info", r->num_info);
13213 ndr_print_ptr(ndr, "info", r->info);
13214 ndr->depth++;
13215 if (r->info) {
13216 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
13217 ndr->depth++;
13218 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
13219 char *idx_1=NULL;
13220 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
13221 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
13222 free(idx_1);
13225 ndr->depth--;
13227 ndr->depth--;
13228 ndr_print_uint32(ndr, "unknown", r->unknown);
13229 ndr->depth--;
13232 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
13234 if (ndr_flags & NDR_SCALARS) {
13235 int level = ndr_push_get_switch_value(ndr, r);
13236 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13237 NDR_CHECK(ndr_push_union_align(ndr, 5));
13238 switch (level) {
13239 case 1: {
13240 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13241 break; }
13243 default:
13244 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13247 if (ndr_flags & NDR_BUFFERS) {
13248 int level = ndr_push_get_switch_value(ndr, r);
13249 switch (level) {
13250 case 1:
13251 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13252 break;
13254 default:
13255 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13258 return NDR_ERR_SUCCESS;
13261 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
13263 int level;
13264 int32_t _level;
13265 level = ndr_pull_get_switch_value(ndr, r);
13266 if (ndr_flags & NDR_SCALARS) {
13267 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13268 if (_level != level) {
13269 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13271 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13272 switch (level) {
13273 case 1: {
13274 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13275 break; }
13277 default:
13278 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13281 if (ndr_flags & NDR_BUFFERS) {
13282 switch (level) {
13283 case 1:
13284 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13285 break;
13287 default:
13288 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13291 return NDR_ERR_SUCCESS;
13294 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
13296 int level;
13297 level = ndr_print_get_switch_value(ndr, r);
13298 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
13299 switch (level) {
13300 case 1:
13301 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
13302 break;
13304 default:
13305 ndr_print_bad_level(ndr, name, level);
13309 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
13311 uint32_t cntr_site_to_1;
13312 if (ndr_flags & NDR_SCALARS) {
13313 NDR_CHECK(ndr_push_align(ndr, 5));
13314 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
13315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
13316 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
13317 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
13318 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13320 if (ndr_flags & NDR_BUFFERS) {
13321 if (r->site_from) {
13322 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13323 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13324 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13325 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13327 if (r->site_to) {
13328 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13329 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13330 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
13332 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13333 if (r->site_to[cntr_site_to_1]) {
13334 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13335 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13336 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13337 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));
13342 return NDR_ERR_SUCCESS;
13345 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
13347 uint32_t _ptr_site_from;
13348 TALLOC_CTX *_mem_save_site_from_0;
13349 uint32_t _ptr_site_to;
13350 uint32_t cntr_site_to_1;
13351 TALLOC_CTX *_mem_save_site_to_0;
13352 TALLOC_CTX *_mem_save_site_to_1;
13353 TALLOC_CTX *_mem_save_site_to_2;
13354 if (ndr_flags & NDR_SCALARS) {
13355 NDR_CHECK(ndr_pull_align(ndr, 5));
13356 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
13357 if (_ptr_site_from) {
13358 NDR_PULL_ALLOC(ndr, r->site_from);
13359 } else {
13360 r->site_from = NULL;
13362 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13363 if (r->num_req < 1 || r->num_req > 10000) {
13364 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13366 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13367 if (_ptr_site_to) {
13368 NDR_PULL_ALLOC(ndr, r->site_to);
13369 } else {
13370 r->site_to = NULL;
13372 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
13373 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13375 if (ndr_flags & NDR_BUFFERS) {
13376 if (r->site_from) {
13377 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
13378 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
13379 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
13380 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
13381 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
13382 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_from), ndr_get_array_length(ndr, &r->site_from));
13384 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
13385 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
13386 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
13388 if (r->site_to) {
13389 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
13390 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13391 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
13392 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
13393 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
13394 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13395 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13396 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13397 if (_ptr_site_to) {
13398 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
13399 } else {
13400 r->site_to[cntr_site_to_1] = NULL;
13403 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13404 if (r->site_to[cntr_site_to_1]) {
13405 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
13406 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
13407 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
13408 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
13409 if (ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]) > ndr_get_array_size(ndr, &r->site_to[cntr_site_to_1])) {
13410 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_to[cntr_site_to_1]), ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]));
13412 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
13413 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_to[cntr_site_to_1], ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t), CH_UTF16));
13414 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
13417 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
13418 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
13420 if (r->site_to) {
13421 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
13424 return NDR_ERR_SUCCESS;
13427 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
13429 uint32_t cntr_site_to_1;
13430 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
13431 ndr->depth++;
13432 ndr_print_ptr(ndr, "site_from", r->site_from);
13433 ndr->depth++;
13434 if (r->site_from) {
13435 ndr_print_string(ndr, "site_from", r->site_from);
13437 ndr->depth--;
13438 ndr_print_uint32(ndr, "num_req", r->num_req);
13439 ndr_print_ptr(ndr, "site_to", r->site_to);
13440 ndr->depth++;
13441 if (r->site_to) {
13442 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
13443 ndr->depth++;
13444 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
13445 char *idx_1=NULL;
13446 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
13447 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
13448 ndr->depth++;
13449 if (r->site_to[cntr_site_to_1]) {
13450 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
13452 ndr->depth--;
13453 free(idx_1);
13456 ndr->depth--;
13458 ndr->depth--;
13459 ndr_print_uint32(ndr, "flags", r->flags);
13460 ndr->depth--;
13463 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
13465 if (ndr_flags & NDR_SCALARS) {
13466 int level = ndr_push_get_switch_value(ndr, r);
13467 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13468 NDR_CHECK(ndr_push_union_align(ndr, 5));
13469 switch (level) {
13470 case 1: {
13471 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13472 break; }
13474 default:
13475 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13478 if (ndr_flags & NDR_BUFFERS) {
13479 int level = ndr_push_get_switch_value(ndr, r);
13480 switch (level) {
13481 case 1:
13482 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13483 break;
13485 default:
13486 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13489 return NDR_ERR_SUCCESS;
13492 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
13494 int level;
13495 int32_t _level;
13496 level = ndr_pull_get_switch_value(ndr, r);
13497 if (ndr_flags & NDR_SCALARS) {
13498 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13499 if (_level != level) {
13500 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13502 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13503 switch (level) {
13504 case 1: {
13505 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13506 break; }
13508 default:
13509 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13512 if (ndr_flags & NDR_BUFFERS) {
13513 switch (level) {
13514 case 1:
13515 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13516 break;
13518 default:
13519 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13522 return NDR_ERR_SUCCESS;
13525 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
13527 int level;
13528 level = ndr_print_get_switch_value(ndr, r);
13529 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
13530 switch (level) {
13531 case 1:
13532 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
13533 break;
13535 default:
13536 ndr_print_bad_level(ndr, name, level);
13540 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
13542 if (flags & NDR_IN) {
13543 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
13544 if (r->in.bind_guid) {
13545 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13547 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
13548 if (r->in.bind_info) {
13549 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13552 if (flags & NDR_OUT) {
13553 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
13554 if (r->out.bind_info) {
13555 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13557 if (r->out.bind_handle == NULL) {
13558 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13560 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13561 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13563 return NDR_ERR_SUCCESS;
13566 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
13568 uint32_t _ptr_bind_guid;
13569 uint32_t _ptr_bind_info;
13570 TALLOC_CTX *_mem_save_bind_guid_0;
13571 TALLOC_CTX *_mem_save_bind_info_0;
13572 TALLOC_CTX *_mem_save_bind_handle_0;
13573 if (flags & NDR_IN) {
13574 ZERO_STRUCT(r->out);
13576 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
13577 if (_ptr_bind_guid) {
13578 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
13579 } else {
13580 r->in.bind_guid = NULL;
13582 if (r->in.bind_guid) {
13583 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13584 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
13585 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
13588 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13589 if (_ptr_bind_info) {
13590 NDR_PULL_ALLOC(ndr, r->in.bind_info);
13591 } else {
13592 r->in.bind_info = NULL;
13594 if (r->in.bind_info) {
13595 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13596 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
13597 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13598 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13600 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13601 ZERO_STRUCTP(r->out.bind_handle);
13603 if (flags & NDR_OUT) {
13604 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13605 if (_ptr_bind_info) {
13606 NDR_PULL_ALLOC(ndr, r->out.bind_info);
13607 } else {
13608 r->out.bind_info = NULL;
13610 if (r->out.bind_info) {
13611 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13612 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
13613 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13614 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13616 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13617 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13619 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13620 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13621 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13622 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13623 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13625 return NDR_ERR_SUCCESS;
13628 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
13630 ndr_print_struct(ndr, name, "drsuapi_DsBind");
13631 ndr->depth++;
13632 if (flags & NDR_SET_VALUES) {
13633 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13635 if (flags & NDR_IN) {
13636 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
13637 ndr->depth++;
13638 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
13639 ndr->depth++;
13640 if (r->in.bind_guid) {
13641 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
13643 ndr->depth--;
13644 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
13645 ndr->depth++;
13646 if (r->in.bind_info) {
13647 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
13649 ndr->depth--;
13650 ndr->depth--;
13652 if (flags & NDR_OUT) {
13653 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
13654 ndr->depth++;
13655 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
13656 ndr->depth++;
13657 if (r->out.bind_info) {
13658 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
13660 ndr->depth--;
13661 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13662 ndr->depth++;
13663 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13664 ndr->depth--;
13665 ndr_print_WERROR(ndr, "result", r->out.result);
13666 ndr->depth--;
13668 ndr->depth--;
13671 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
13673 if (flags & NDR_IN) {
13674 if (r->in.bind_handle == NULL) {
13675 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13677 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13679 if (flags & NDR_OUT) {
13680 if (r->out.bind_handle == NULL) {
13681 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13683 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13684 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13686 return NDR_ERR_SUCCESS;
13689 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
13691 TALLOC_CTX *_mem_save_bind_handle_0;
13692 if (flags & NDR_IN) {
13693 ZERO_STRUCT(r->out);
13695 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13696 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13698 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13699 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13700 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13701 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13702 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13703 *r->out.bind_handle = *r->in.bind_handle;
13705 if (flags & NDR_OUT) {
13706 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13707 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13709 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13710 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13711 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13712 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13713 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13715 return NDR_ERR_SUCCESS;
13718 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
13720 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
13721 ndr->depth++;
13722 if (flags & NDR_SET_VALUES) {
13723 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13725 if (flags & NDR_IN) {
13726 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
13727 ndr->depth++;
13728 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13729 ndr->depth++;
13730 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13731 ndr->depth--;
13732 ndr->depth--;
13734 if (flags & NDR_OUT) {
13735 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
13736 ndr->depth++;
13737 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13738 ndr->depth++;
13739 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13740 ndr->depth--;
13741 ndr_print_WERROR(ndr, "result", r->out.result);
13742 ndr->depth--;
13744 ndr->depth--;
13747 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
13749 if (flags & NDR_IN) {
13750 if (r->in.bind_handle == NULL) {
13751 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13753 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13754 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13755 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13756 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13758 if (flags & NDR_OUT) {
13759 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13761 return NDR_ERR_SUCCESS;
13764 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
13766 TALLOC_CTX *_mem_save_bind_handle_0;
13767 if (flags & NDR_IN) {
13768 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13769 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13771 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13772 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13773 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13775 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13776 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13777 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13779 if (flags & NDR_OUT) {
13780 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13782 return NDR_ERR_SUCCESS;
13785 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
13787 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
13788 ndr->depth++;
13789 if (flags & NDR_SET_VALUES) {
13790 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13792 if (flags & NDR_IN) {
13793 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
13794 ndr->depth++;
13795 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13796 ndr->depth++;
13797 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13798 ndr->depth--;
13799 ndr_print_int32(ndr, "level", r->in.level);
13800 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13801 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", &r->in.req);
13802 ndr->depth--;
13804 if (flags & NDR_OUT) {
13805 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
13806 ndr->depth++;
13807 ndr_print_WERROR(ndr, "result", r->out.result);
13808 ndr->depth--;
13810 ndr->depth--;
13813 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
13815 if (flags & NDR_IN) {
13816 if (r->in.bind_handle == NULL) {
13817 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13819 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13820 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13821 if (r->in.req == NULL) {
13822 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13824 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13825 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13827 if (flags & NDR_OUT) {
13828 if (r->out.level_out == NULL) {
13829 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13831 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13832 if (r->out.ctr == NULL) {
13833 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13835 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13836 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13837 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13839 return NDR_ERR_SUCCESS;
13842 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
13844 TALLOC_CTX *_mem_save_bind_handle_0;
13845 TALLOC_CTX *_mem_save_req_0;
13846 TALLOC_CTX *_mem_save_level_out_0;
13847 TALLOC_CTX *_mem_save_ctr_0;
13848 if (flags & NDR_IN) {
13849 ZERO_STRUCT(r->out);
13851 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13852 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13854 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13855 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13856 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13857 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13858 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13859 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13860 NDR_PULL_ALLOC(ndr, r->in.req);
13862 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13863 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13864 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13865 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13866 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13867 NDR_PULL_ALLOC(ndr, r->out.level_out);
13868 ZERO_STRUCTP(r->out.level_out);
13869 NDR_PULL_ALLOC(ndr, r->out.ctr);
13870 ZERO_STRUCTP(r->out.ctr);
13872 if (flags & NDR_OUT) {
13873 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13874 NDR_PULL_ALLOC(ndr, r->out.level_out);
13876 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13877 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13878 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13879 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13880 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13881 NDR_PULL_ALLOC(ndr, r->out.ctr);
13883 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13884 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13885 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13886 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13887 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13888 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13890 return NDR_ERR_SUCCESS;
13893 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
13895 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
13896 ndr->depth++;
13897 if (flags & NDR_SET_VALUES) {
13898 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13900 if (flags & NDR_IN) {
13901 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
13902 ndr->depth++;
13903 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13904 ndr->depth++;
13905 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13906 ndr->depth--;
13907 ndr_print_int32(ndr, "level", r->in.level);
13908 ndr_print_ptr(ndr, "req", r->in.req);
13909 ndr->depth++;
13910 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13911 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
13912 ndr->depth--;
13913 ndr->depth--;
13915 if (flags & NDR_OUT) {
13916 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
13917 ndr->depth++;
13918 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13919 ndr->depth++;
13920 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13921 ndr->depth--;
13922 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13923 ndr->depth++;
13924 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13925 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
13926 ndr->depth--;
13927 ndr_print_WERROR(ndr, "result", r->out.result);
13928 ndr->depth--;
13930 ndr->depth--;
13933 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13935 if (flags & NDR_IN) {
13936 if (r->in.bind_handle == NULL) {
13937 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13939 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13940 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13941 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13942 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13944 if (flags & NDR_OUT) {
13945 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13947 return NDR_ERR_SUCCESS;
13950 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
13952 TALLOC_CTX *_mem_save_bind_handle_0;
13953 if (flags & NDR_IN) {
13954 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13955 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13957 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13958 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13959 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13960 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13961 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13962 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13963 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13965 if (flags & NDR_OUT) {
13966 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13968 return NDR_ERR_SUCCESS;
13971 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13973 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
13974 ndr->depth++;
13975 if (flags & NDR_SET_VALUES) {
13976 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13978 if (flags & NDR_IN) {
13979 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
13980 ndr->depth++;
13981 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13982 ndr->depth++;
13983 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13984 ndr->depth--;
13985 ndr_print_int32(ndr, "level", r->in.level);
13986 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13987 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
13988 ndr->depth--;
13990 if (flags & NDR_OUT) {
13991 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
13992 ndr->depth++;
13993 ndr_print_WERROR(ndr, "result", r->out.result);
13994 ndr->depth--;
13996 ndr->depth--;
13999 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
14001 if (flags & NDR_IN) {
14002 if (r->in.bind_handle == NULL) {
14003 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14005 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14006 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14007 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14008 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14010 if (flags & NDR_OUT) {
14011 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14013 return NDR_ERR_SUCCESS;
14016 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
14018 TALLOC_CTX *_mem_save_bind_handle_0;
14019 if (flags & NDR_IN) {
14020 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14021 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14023 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14024 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14025 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14027 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14028 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14029 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14031 if (flags & NDR_OUT) {
14032 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14034 return NDR_ERR_SUCCESS;
14037 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
14039 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
14040 ndr->depth++;
14041 if (flags & NDR_SET_VALUES) {
14042 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14044 if (flags & NDR_IN) {
14045 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
14046 ndr->depth++;
14047 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14048 ndr->depth++;
14049 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14050 ndr->depth--;
14051 ndr_print_int32(ndr, "level", r->in.level);
14052 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14053 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
14054 ndr->depth--;
14056 if (flags & NDR_OUT) {
14057 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
14058 ndr->depth++;
14059 ndr_print_WERROR(ndr, "result", r->out.result);
14060 ndr->depth--;
14062 ndr->depth--;
14065 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
14067 if (flags & NDR_IN) {
14068 if (r->in.bind_handle == NULL) {
14069 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14071 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14072 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14073 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14074 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14076 if (flags & NDR_OUT) {
14077 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14079 return NDR_ERR_SUCCESS;
14082 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
14084 TALLOC_CTX *_mem_save_bind_handle_0;
14085 if (flags & NDR_IN) {
14086 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14087 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14089 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14090 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14091 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14092 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14093 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14094 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14095 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14097 if (flags & NDR_OUT) {
14098 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14100 return NDR_ERR_SUCCESS;
14103 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
14105 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
14106 ndr->depth++;
14107 if (flags & NDR_SET_VALUES) {
14108 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14110 if (flags & NDR_IN) {
14111 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
14112 ndr->depth++;
14113 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14114 ndr->depth++;
14115 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14116 ndr->depth--;
14117 ndr_print_int32(ndr, "level", r->in.level);
14118 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14119 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
14120 ndr->depth--;
14122 if (flags & NDR_OUT) {
14123 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
14124 ndr->depth++;
14125 ndr_print_WERROR(ndr, "result", r->out.result);
14126 ndr->depth--;
14128 ndr->depth--;
14131 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
14133 if (flags & NDR_IN) {
14134 if (r->in.bind_handle == NULL) {
14135 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14137 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14138 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14139 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14140 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14142 if (flags & NDR_OUT) {
14143 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14145 return NDR_ERR_SUCCESS;
14148 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
14150 TALLOC_CTX *_mem_save_bind_handle_0;
14151 if (flags & NDR_IN) {
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_int32(ndr, NDR_SCALARS, &r->in.level));
14160 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14161 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14163 if (flags & NDR_OUT) {
14164 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14166 return NDR_ERR_SUCCESS;
14169 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
14171 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
14172 ndr->depth++;
14173 if (flags & NDR_SET_VALUES) {
14174 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14176 if (flags & NDR_IN) {
14177 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
14178 ndr->depth++;
14179 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14180 ndr->depth++;
14181 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14182 ndr->depth--;
14183 ndr_print_int32(ndr, "level", r->in.level);
14184 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14185 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
14186 ndr->depth--;
14188 if (flags & NDR_OUT) {
14189 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
14190 ndr->depth++;
14191 ndr_print_WERROR(ndr, "result", r->out.result);
14192 ndr->depth--;
14194 ndr->depth--;
14197 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14199 if (flags & NDR_IN) {
14201 if (flags & NDR_OUT) {
14202 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14204 return NDR_ERR_SUCCESS;
14207 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
14209 if (flags & NDR_IN) {
14211 if (flags & NDR_OUT) {
14212 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14214 return NDR_ERR_SUCCESS;
14217 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14219 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
14220 ndr->depth++;
14221 if (flags & NDR_SET_VALUES) {
14222 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14224 if (flags & NDR_IN) {
14225 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
14226 ndr->depth++;
14227 ndr->depth--;
14229 if (flags & NDR_OUT) {
14230 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
14231 ndr->depth++;
14232 ndr_print_WERROR(ndr, "result", r->out.result);
14233 ndr->depth--;
14235 ndr->depth--;
14238 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
14240 if (flags & NDR_IN) {
14241 if (r->in.bind_handle == NULL) {
14242 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14244 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14245 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14246 if (r->in.req == NULL) {
14247 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14249 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14250 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14252 if (flags & NDR_OUT) {
14253 if (r->out.level_out == NULL) {
14254 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14256 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14257 if (r->out.ctr == NULL) {
14258 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14260 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14261 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14262 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14264 return NDR_ERR_SUCCESS;
14267 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
14269 TALLOC_CTX *_mem_save_bind_handle_0;
14270 TALLOC_CTX *_mem_save_req_0;
14271 TALLOC_CTX *_mem_save_level_out_0;
14272 TALLOC_CTX *_mem_save_ctr_0;
14273 if (flags & NDR_IN) {
14274 ZERO_STRUCT(r->out);
14276 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14277 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14279 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14280 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14281 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14282 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14283 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14284 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14285 NDR_PULL_ALLOC(ndr, r->in.req);
14287 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14288 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14289 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14290 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14292 NDR_PULL_ALLOC(ndr, r->out.level_out);
14293 ZERO_STRUCTP(r->out.level_out);
14294 NDR_PULL_ALLOC(ndr, r->out.ctr);
14295 ZERO_STRUCTP(r->out.ctr);
14297 if (flags & NDR_OUT) {
14298 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14299 NDR_PULL_ALLOC(ndr, r->out.level_out);
14301 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14302 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14303 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14305 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14306 NDR_PULL_ALLOC(ndr, r->out.ctr);
14308 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14309 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14310 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14311 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14313 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14315 return NDR_ERR_SUCCESS;
14318 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
14320 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
14321 ndr->depth++;
14322 if (flags & NDR_SET_VALUES) {
14323 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14325 if (flags & NDR_IN) {
14326 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
14327 ndr->depth++;
14328 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14329 ndr->depth++;
14330 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14331 ndr->depth--;
14332 ndr_print_int32(ndr, "level", r->in.level);
14333 ndr_print_ptr(ndr, "req", r->in.req);
14334 ndr->depth++;
14335 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14336 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
14337 ndr->depth--;
14338 ndr->depth--;
14340 if (flags & NDR_OUT) {
14341 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
14342 ndr->depth++;
14343 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14344 ndr->depth++;
14345 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14346 ndr->depth--;
14347 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14348 ndr->depth++;
14349 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14350 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
14351 ndr->depth--;
14352 ndr_print_WERROR(ndr, "result", r->out.result);
14353 ndr->depth--;
14355 ndr->depth--;
14358 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14360 if (flags & NDR_IN) {
14362 if (flags & NDR_OUT) {
14363 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14365 return NDR_ERR_SUCCESS;
14368 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14370 if (flags & NDR_IN) {
14372 if (flags & NDR_OUT) {
14373 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14375 return NDR_ERR_SUCCESS;
14378 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14380 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
14381 ndr->depth++;
14382 if (flags & NDR_SET_VALUES) {
14383 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14385 if (flags & NDR_IN) {
14386 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14387 ndr->depth++;
14388 ndr->depth--;
14390 if (flags & NDR_OUT) {
14391 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14392 ndr->depth++;
14393 ndr_print_WERROR(ndr, "result", r->out.result);
14394 ndr->depth--;
14396 ndr->depth--;
14399 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14401 if (flags & NDR_IN) {
14402 if (r->in.bind_handle == NULL) {
14403 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14405 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14406 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14407 if (r->in.req == NULL) {
14408 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14410 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14411 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14413 if (flags & NDR_OUT) {
14414 if (r->out.level_out == NULL) {
14415 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14417 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14418 if (r->out.info == NULL) {
14419 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14421 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
14422 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14423 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14425 return NDR_ERR_SUCCESS;
14428 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
14430 TALLOC_CTX *_mem_save_bind_handle_0;
14431 TALLOC_CTX *_mem_save_req_0;
14432 TALLOC_CTX *_mem_save_level_out_0;
14433 TALLOC_CTX *_mem_save_info_0;
14434 if (flags & NDR_IN) {
14435 ZERO_STRUCT(r->out);
14437 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14438 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14440 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14441 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14442 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14443 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14444 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14445 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14446 NDR_PULL_ALLOC(ndr, r->in.req);
14448 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14449 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14450 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14451 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14452 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14453 NDR_PULL_ALLOC(ndr, r->out.level_out);
14454 ZERO_STRUCTP(r->out.level_out);
14455 NDR_PULL_ALLOC(ndr, r->out.info);
14456 ZERO_STRUCTP(r->out.info);
14458 if (flags & NDR_OUT) {
14459 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14460 NDR_PULL_ALLOC(ndr, r->out.level_out);
14462 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14463 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14464 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14465 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14466 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14467 NDR_PULL_ALLOC(ndr, r->out.info);
14469 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14470 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14471 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
14472 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14473 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14474 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14476 return NDR_ERR_SUCCESS;
14479 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14481 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
14482 ndr->depth++;
14483 if (flags & NDR_SET_VALUES) {
14484 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14486 if (flags & NDR_IN) {
14487 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
14488 ndr->depth++;
14489 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14490 ndr->depth++;
14491 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14492 ndr->depth--;
14493 ndr_print_uint32(ndr, "level", r->in.level);
14494 ndr_print_ptr(ndr, "req", r->in.req);
14495 ndr->depth++;
14496 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14497 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
14498 ndr->depth--;
14499 ndr->depth--;
14501 if (flags & NDR_OUT) {
14502 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
14503 ndr->depth++;
14504 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14505 ndr->depth++;
14506 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14507 ndr->depth--;
14508 ndr_print_ptr(ndr, "info", r->out.info);
14509 ndr->depth++;
14510 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
14511 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
14512 ndr->depth--;
14513 ndr_print_WERROR(ndr, "result", r->out.result);
14514 ndr->depth--;
14516 ndr->depth--;
14519 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
14521 if (flags & NDR_IN) {
14522 if (r->in.bind_handle == NULL) {
14523 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14525 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14526 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14527 if (r->in.req == NULL) {
14528 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14530 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14531 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14533 if (flags & NDR_OUT) {
14534 if (r->out.level_out == NULL) {
14535 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14537 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14538 if (r->out.ctr == NULL) {
14539 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14541 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14542 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14543 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14545 return NDR_ERR_SUCCESS;
14548 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
14550 TALLOC_CTX *_mem_save_bind_handle_0;
14551 TALLOC_CTX *_mem_save_req_0;
14552 TALLOC_CTX *_mem_save_level_out_0;
14553 TALLOC_CTX *_mem_save_ctr_0;
14554 if (flags & NDR_IN) {
14555 ZERO_STRUCT(r->out);
14557 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14558 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14560 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14561 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14562 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14564 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14565 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14566 NDR_PULL_ALLOC(ndr, r->in.req);
14568 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14569 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14570 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14571 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14572 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14573 NDR_PULL_ALLOC(ndr, r->out.level_out);
14574 ZERO_STRUCTP(r->out.level_out);
14575 NDR_PULL_ALLOC(ndr, r->out.ctr);
14576 ZERO_STRUCTP(r->out.ctr);
14578 if (flags & NDR_OUT) {
14579 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14580 NDR_PULL_ALLOC(ndr, r->out.level_out);
14582 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14583 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14584 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14585 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14586 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14587 NDR_PULL_ALLOC(ndr, r->out.ctr);
14589 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14590 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14591 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14592 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14593 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14594 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14596 return NDR_ERR_SUCCESS;
14599 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
14601 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
14602 ndr->depth++;
14603 if (flags & NDR_SET_VALUES) {
14604 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14606 if (flags & NDR_IN) {
14607 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
14608 ndr->depth++;
14609 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14610 ndr->depth++;
14611 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14612 ndr->depth--;
14613 ndr_print_int32(ndr, "level", r->in.level);
14614 ndr_print_ptr(ndr, "req", r->in.req);
14615 ndr->depth++;
14616 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14617 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
14618 ndr->depth--;
14619 ndr->depth--;
14621 if (flags & NDR_OUT) {
14622 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
14623 ndr->depth++;
14624 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14625 ndr->depth++;
14626 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14627 ndr->depth--;
14628 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14629 ndr->depth++;
14630 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14631 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
14632 ndr->depth--;
14633 ndr_print_WERROR(ndr, "result", r->out.result);
14634 ndr->depth--;
14636 ndr->depth--;
14639 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14641 if (flags & NDR_IN) {
14642 if (r->in.bind_handle == NULL) {
14643 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14645 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14646 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14647 if (r->in.req == NULL) {
14648 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14650 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14651 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14653 if (flags & NDR_OUT) {
14654 if (r->out.level_out == NULL) {
14655 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14657 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14658 if (r->out.res == NULL) {
14659 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14661 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14662 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14663 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14665 return NDR_ERR_SUCCESS;
14668 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
14670 TALLOC_CTX *_mem_save_bind_handle_0;
14671 TALLOC_CTX *_mem_save_req_0;
14672 TALLOC_CTX *_mem_save_level_out_0;
14673 TALLOC_CTX *_mem_save_res_0;
14674 if (flags & NDR_IN) {
14675 ZERO_STRUCT(r->out);
14677 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14678 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14680 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14681 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14682 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14683 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14684 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14685 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14686 NDR_PULL_ALLOC(ndr, r->in.req);
14688 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14689 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14690 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14691 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14692 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14693 NDR_PULL_ALLOC(ndr, r->out.level_out);
14694 ZERO_STRUCTP(r->out.level_out);
14695 NDR_PULL_ALLOC(ndr, r->out.res);
14696 ZERO_STRUCTP(r->out.res);
14698 if (flags & NDR_OUT) {
14699 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14700 NDR_PULL_ALLOC(ndr, r->out.level_out);
14702 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14703 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14704 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14705 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14706 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14707 NDR_PULL_ALLOC(ndr, r->out.res);
14709 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14710 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14711 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14712 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14713 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14714 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14716 return NDR_ERR_SUCCESS;
14719 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14721 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
14722 ndr->depth++;
14723 if (flags & NDR_SET_VALUES) {
14724 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14726 if (flags & NDR_IN) {
14727 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
14728 ndr->depth++;
14729 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14730 ndr->depth++;
14731 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14732 ndr->depth--;
14733 ndr_print_int32(ndr, "level", r->in.level);
14734 ndr_print_ptr(ndr, "req", r->in.req);
14735 ndr->depth++;
14736 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14737 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
14738 ndr->depth--;
14739 ndr->depth--;
14741 if (flags & NDR_OUT) {
14742 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
14743 ndr->depth++;
14744 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14745 ndr->depth++;
14746 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14747 ndr->depth--;
14748 ndr_print_ptr(ndr, "res", r->out.res);
14749 ndr->depth++;
14750 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14751 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
14752 ndr->depth--;
14753 ndr_print_WERROR(ndr, "result", r->out.result);
14754 ndr->depth--;
14756 ndr->depth--;
14759 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
14761 if (flags & NDR_IN) {
14762 if (r->in.bind_handle == NULL) {
14763 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14765 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14766 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14767 if (r->in.req == NULL) {
14768 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14770 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14771 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14773 if (flags & NDR_OUT) {
14774 if (r->out.level_out == NULL) {
14775 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14777 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14778 if (r->out.res == NULL) {
14779 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14781 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14782 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14783 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14785 return NDR_ERR_SUCCESS;
14788 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
14790 TALLOC_CTX *_mem_save_bind_handle_0;
14791 TALLOC_CTX *_mem_save_req_0;
14792 TALLOC_CTX *_mem_save_level_out_0;
14793 TALLOC_CTX *_mem_save_res_0;
14794 if (flags & NDR_IN) {
14795 ZERO_STRUCT(r->out);
14797 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14798 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14800 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14801 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14802 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14803 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14804 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14805 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14806 NDR_PULL_ALLOC(ndr, r->in.req);
14808 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14809 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14810 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14811 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14812 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14813 NDR_PULL_ALLOC(ndr, r->out.level_out);
14814 ZERO_STRUCTP(r->out.level_out);
14815 NDR_PULL_ALLOC(ndr, r->out.res);
14816 ZERO_STRUCTP(r->out.res);
14818 if (flags & NDR_OUT) {
14819 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14820 NDR_PULL_ALLOC(ndr, r->out.level_out);
14822 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14823 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14824 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14826 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14827 NDR_PULL_ALLOC(ndr, r->out.res);
14829 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14830 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14831 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14832 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14833 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14834 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14836 return NDR_ERR_SUCCESS;
14839 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
14841 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
14842 ndr->depth++;
14843 if (flags & NDR_SET_VALUES) {
14844 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14846 if (flags & NDR_IN) {
14847 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
14848 ndr->depth++;
14849 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14850 ndr->depth++;
14851 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14852 ndr->depth--;
14853 ndr_print_int32(ndr, "level", r->in.level);
14854 ndr_print_ptr(ndr, "req", r->in.req);
14855 ndr->depth++;
14856 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14857 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
14858 ndr->depth--;
14859 ndr->depth--;
14861 if (flags & NDR_OUT) {
14862 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
14863 ndr->depth++;
14864 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14865 ndr->depth++;
14866 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14867 ndr->depth--;
14868 ndr_print_ptr(ndr, "res", r->out.res);
14869 ndr->depth++;
14870 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14871 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
14872 ndr->depth--;
14873 ndr_print_WERROR(ndr, "result", r->out.result);
14874 ndr->depth--;
14876 ndr->depth--;
14879 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14881 if (flags & NDR_IN) {
14883 if (flags & NDR_OUT) {
14884 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14886 return NDR_ERR_SUCCESS;
14889 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14891 if (flags & NDR_IN) {
14893 if (flags & NDR_OUT) {
14894 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14896 return NDR_ERR_SUCCESS;
14899 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14901 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
14902 ndr->depth++;
14903 if (flags & NDR_SET_VALUES) {
14904 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14906 if (flags & NDR_IN) {
14907 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14908 ndr->depth++;
14909 ndr->depth--;
14911 if (flags & NDR_OUT) {
14912 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14913 ndr->depth++;
14914 ndr_print_WERROR(ndr, "result", r->out.result);
14915 ndr->depth--;
14917 ndr->depth--;
14920 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14922 if (flags & NDR_IN) {
14923 if (r->in.bind_handle == NULL) {
14924 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14926 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14927 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14928 if (r->in.req == NULL) {
14929 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14931 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14932 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14934 if (flags & NDR_OUT) {
14935 if (r->out.level_out == NULL) {
14936 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14938 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14939 if (r->out.ctr == NULL) {
14940 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14942 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14943 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14944 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14946 return NDR_ERR_SUCCESS;
14949 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
14951 TALLOC_CTX *_mem_save_bind_handle_0;
14952 TALLOC_CTX *_mem_save_req_0;
14953 TALLOC_CTX *_mem_save_level_out_0;
14954 TALLOC_CTX *_mem_save_ctr_0;
14955 if (flags & NDR_IN) {
14956 ZERO_STRUCT(r->out);
14958 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14959 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14961 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14962 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14963 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14964 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14965 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14966 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14967 NDR_PULL_ALLOC(ndr, r->in.req);
14969 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14970 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14971 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14972 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14973 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14974 NDR_PULL_ALLOC(ndr, r->out.level_out);
14975 ZERO_STRUCTP(r->out.level_out);
14976 NDR_PULL_ALLOC(ndr, r->out.ctr);
14977 ZERO_STRUCTP(r->out.ctr);
14979 if (flags & NDR_OUT) {
14980 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14981 NDR_PULL_ALLOC(ndr, r->out.level_out);
14983 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14984 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14985 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14986 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14987 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14988 NDR_PULL_ALLOC(ndr, r->out.ctr);
14990 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14991 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14992 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14993 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14994 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14995 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14997 return NDR_ERR_SUCCESS;
15000 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
15002 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
15003 ndr->depth++;
15004 if (flags & NDR_SET_VALUES) {
15005 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15007 if (flags & NDR_IN) {
15008 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
15009 ndr->depth++;
15010 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15011 ndr->depth++;
15012 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15013 ndr->depth--;
15014 ndr_print_int32(ndr, "level", r->in.level);
15015 ndr_print_ptr(ndr, "req", r->in.req);
15016 ndr->depth++;
15017 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15018 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
15019 ndr->depth--;
15020 ndr->depth--;
15022 if (flags & NDR_OUT) {
15023 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
15024 ndr->depth++;
15025 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15026 ndr->depth++;
15027 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15028 ndr->depth--;
15029 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15030 ndr->depth++;
15031 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15032 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
15033 ndr->depth--;
15034 ndr_print_WERROR(ndr, "result", r->out.result);
15035 ndr->depth--;
15037 ndr->depth--;
15040 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
15042 if (flags & NDR_IN) {
15043 if (r->in.bind_handle == NULL) {
15044 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15046 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15047 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15048 if (r->in.req == NULL) {
15049 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15051 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15052 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15054 if (flags & NDR_OUT) {
15055 if (r->out.level_out == NULL) {
15056 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15058 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15059 if (r->out.ctr == NULL) {
15060 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15062 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15063 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15064 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15066 return NDR_ERR_SUCCESS;
15069 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
15071 TALLOC_CTX *_mem_save_bind_handle_0;
15072 TALLOC_CTX *_mem_save_req_0;
15073 TALLOC_CTX *_mem_save_level_out_0;
15074 TALLOC_CTX *_mem_save_ctr_0;
15075 if (flags & NDR_IN) {
15076 ZERO_STRUCT(r->out);
15078 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15079 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15081 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15082 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15083 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15084 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15085 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15086 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15087 NDR_PULL_ALLOC(ndr, r->in.req);
15089 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15090 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15091 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15092 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15093 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15094 NDR_PULL_ALLOC(ndr, r->out.level_out);
15095 ZERO_STRUCTP(r->out.level_out);
15096 NDR_PULL_ALLOC(ndr, r->out.ctr);
15097 ZERO_STRUCTP(r->out.ctr);
15099 if (flags & NDR_OUT) {
15100 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15101 NDR_PULL_ALLOC(ndr, r->out.level_out);
15103 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15104 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15105 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15106 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15107 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15108 NDR_PULL_ALLOC(ndr, r->out.ctr);
15110 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15111 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15112 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15113 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15114 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15115 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15117 return NDR_ERR_SUCCESS;
15120 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
15122 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
15123 ndr->depth++;
15124 if (flags & NDR_SET_VALUES) {
15125 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15127 if (flags & NDR_IN) {
15128 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
15129 ndr->depth++;
15130 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15131 ndr->depth++;
15132 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15133 ndr->depth--;
15134 ndr_print_int32(ndr, "level", r->in.level);
15135 ndr_print_ptr(ndr, "req", r->in.req);
15136 ndr->depth++;
15137 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15138 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
15139 ndr->depth--;
15140 ndr->depth--;
15142 if (flags & NDR_OUT) {
15143 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
15144 ndr->depth++;
15145 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15146 ndr->depth++;
15147 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15148 ndr->depth--;
15149 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15150 ndr->depth++;
15151 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15152 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
15153 ndr->depth--;
15154 ndr_print_WERROR(ndr, "result", r->out.result);
15155 ndr->depth--;
15157 ndr->depth--;
15160 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
15162 if (flags & NDR_IN) {
15163 if (r->in.bind_handle == NULL) {
15164 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15166 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15168 if (r->in.req == NULL) {
15169 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15171 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15172 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15174 if (flags & NDR_OUT) {
15175 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15177 return NDR_ERR_SUCCESS;
15180 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
15182 TALLOC_CTX *_mem_save_bind_handle_0;
15183 TALLOC_CTX *_mem_save_req_0;
15184 if (flags & NDR_IN) {
15185 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15186 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15188 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15189 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15190 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15192 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15193 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15194 NDR_PULL_ALLOC(ndr, r->in.req);
15196 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15197 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15198 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15199 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15202 if (flags & NDR_OUT) {
15203 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15205 return NDR_ERR_SUCCESS;
15208 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
15210 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
15211 ndr->depth++;
15212 if (flags & NDR_SET_VALUES) {
15213 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15215 if (flags & NDR_IN) {
15216 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
15217 ndr->depth++;
15218 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15219 ndr->depth++;
15220 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15221 ndr->depth--;
15222 ndr_print_uint32(ndr, "level", r->in.level);
15223 ndr_print_ptr(ndr, "req", r->in.req);
15224 ndr->depth++;
15225 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15226 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
15227 ndr->depth--;
15228 ndr->depth--;
15230 if (flags & NDR_OUT) {
15231 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
15232 ndr->depth++;
15233 ndr_print_WERROR(ndr, "result", r->out.result);
15234 ndr->depth--;
15236 ndr->depth--;
15239 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15241 if (flags & NDR_IN) {
15242 if (r->in.bind_handle == NULL) {
15243 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15245 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15246 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
15247 if (r->in.req == NULL) {
15248 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15250 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15251 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15253 if (flags & NDR_OUT) {
15254 if (r->out.info_type == NULL) {
15255 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15257 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
15258 if (r->out.info == NULL) {
15259 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15261 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
15262 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15263 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15265 return NDR_ERR_SUCCESS;
15268 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
15270 TALLOC_CTX *_mem_save_bind_handle_0;
15271 TALLOC_CTX *_mem_save_req_0;
15272 TALLOC_CTX *_mem_save_info_type_0;
15273 TALLOC_CTX *_mem_save_info_0;
15274 if (flags & NDR_IN) {
15275 ZERO_STRUCT(r->out);
15277 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15278 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15280 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15281 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15282 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15283 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15284 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
15285 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15286 NDR_PULL_ALLOC(ndr, r->in.req);
15288 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15289 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15290 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15291 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15292 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15293 NDR_PULL_ALLOC(ndr, r->out.info_type);
15294 ZERO_STRUCTP(r->out.info_type);
15295 NDR_PULL_ALLOC(ndr, r->out.info);
15296 ZERO_STRUCTP(r->out.info);
15298 if (flags & NDR_OUT) {
15299 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15300 NDR_PULL_ALLOC(ndr, r->out.info_type);
15302 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
15303 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
15304 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
15305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
15306 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15307 NDR_PULL_ALLOC(ndr, r->out.info);
15309 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15310 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15311 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
15312 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15313 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15314 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15316 return NDR_ERR_SUCCESS;
15319 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15321 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
15322 ndr->depth++;
15323 if (flags & NDR_SET_VALUES) {
15324 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15326 if (flags & NDR_IN) {
15327 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
15328 ndr->depth++;
15329 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15330 ndr->depth++;
15331 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15332 ndr->depth--;
15333 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
15334 ndr_print_ptr(ndr, "req", r->in.req);
15335 ndr->depth++;
15336 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15337 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
15338 ndr->depth--;
15339 ndr->depth--;
15341 if (flags & NDR_OUT) {
15342 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
15343 ndr->depth++;
15344 ndr_print_ptr(ndr, "info_type", r->out.info_type);
15345 ndr->depth++;
15346 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
15347 ndr->depth--;
15348 ndr_print_ptr(ndr, "info", r->out.info);
15349 ndr->depth++;
15350 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
15351 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
15352 ndr->depth--;
15353 ndr_print_WERROR(ndr, "result", r->out.result);
15354 ndr->depth--;
15356 ndr->depth--;
15359 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15361 if (flags & NDR_IN) {
15363 if (flags & NDR_OUT) {
15364 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15366 return NDR_ERR_SUCCESS;
15369 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
15371 if (flags & NDR_IN) {
15373 if (flags & NDR_OUT) {
15374 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15376 return NDR_ERR_SUCCESS;
15379 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15381 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
15382 ndr->depth++;
15383 if (flags & NDR_SET_VALUES) {
15384 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15386 if (flags & NDR_IN) {
15387 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
15388 ndr->depth++;
15389 ndr->depth--;
15391 if (flags & NDR_OUT) {
15392 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
15393 ndr->depth++;
15394 ndr_print_WERROR(ndr, "result", r->out.result);
15395 ndr->depth--;
15397 ndr->depth--;
15400 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
15402 if (flags & NDR_IN) {
15403 if (r->in.bind_handle == NULL) {
15404 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15406 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15407 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15408 if (r->in.req == NULL) {
15409 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15411 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15412 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15414 if (flags & NDR_OUT) {
15415 if (r->out.level_out == NULL) {
15416 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15418 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15419 if (r->out.ctr == NULL) {
15420 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15422 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15423 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15424 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15426 return NDR_ERR_SUCCESS;
15429 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
15431 TALLOC_CTX *_mem_save_bind_handle_0;
15432 TALLOC_CTX *_mem_save_req_0;
15433 TALLOC_CTX *_mem_save_level_out_0;
15434 TALLOC_CTX *_mem_save_ctr_0;
15435 if (flags & NDR_IN) {
15436 ZERO_STRUCT(r->out);
15438 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15439 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15441 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15442 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15443 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15444 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15445 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15446 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15447 NDR_PULL_ALLOC(ndr, r->in.req);
15449 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15450 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15451 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15452 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15453 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15454 NDR_PULL_ALLOC(ndr, r->out.level_out);
15455 ZERO_STRUCTP(r->out.level_out);
15456 NDR_PULL_ALLOC(ndr, r->out.ctr);
15457 ZERO_STRUCTP(r->out.ctr);
15459 if (flags & NDR_OUT) {
15460 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15461 NDR_PULL_ALLOC(ndr, r->out.level_out);
15463 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15464 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15465 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15467 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15468 NDR_PULL_ALLOC(ndr, r->out.ctr);
15470 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15471 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15472 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15473 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15474 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15475 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15477 return NDR_ERR_SUCCESS;
15480 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
15482 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
15483 ndr->depth++;
15484 if (flags & NDR_SET_VALUES) {
15485 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15487 if (flags & NDR_IN) {
15488 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
15489 ndr->depth++;
15490 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15491 ndr->depth++;
15492 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15493 ndr->depth--;
15494 ndr_print_int32(ndr, "level", r->in.level);
15495 ndr_print_ptr(ndr, "req", r->in.req);
15496 ndr->depth++;
15497 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15498 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
15499 ndr->depth--;
15500 ndr->depth--;
15502 if (flags & NDR_OUT) {
15503 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
15504 ndr->depth++;
15505 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15506 ndr->depth++;
15507 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15508 ndr->depth--;
15509 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15510 ndr->depth++;
15511 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15512 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
15513 ndr->depth--;
15514 ndr_print_WERROR(ndr, "result", r->out.result);
15515 ndr->depth--;
15517 ndr->depth--;
15520 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15522 if (flags & NDR_IN) {
15524 if (flags & NDR_OUT) {
15525 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15527 return NDR_ERR_SUCCESS;
15530 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15532 if (flags & NDR_IN) {
15534 if (flags & NDR_OUT) {
15535 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15537 return NDR_ERR_SUCCESS;
15540 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15542 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15543 ndr->depth++;
15544 if (flags & NDR_SET_VALUES) {
15545 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15547 if (flags & NDR_IN) {
15548 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15549 ndr->depth++;
15550 ndr->depth--;
15552 if (flags & NDR_OUT) {
15553 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15554 ndr->depth++;
15555 ndr_print_WERROR(ndr, "result", r->out.result);
15556 ndr->depth--;
15558 ndr->depth--;
15561 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15563 if (flags & NDR_IN) {
15565 if (flags & NDR_OUT) {
15566 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15568 return NDR_ERR_SUCCESS;
15571 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15573 if (flags & NDR_IN) {
15575 if (flags & NDR_OUT) {
15576 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15578 return NDR_ERR_SUCCESS;
15581 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15583 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
15584 ndr->depth++;
15585 if (flags & NDR_SET_VALUES) {
15586 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15588 if (flags & NDR_IN) {
15589 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15590 ndr->depth++;
15591 ndr->depth--;
15593 if (flags & NDR_OUT) {
15594 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15595 ndr->depth++;
15596 ndr_print_WERROR(ndr, "result", r->out.result);
15597 ndr->depth--;
15599 ndr->depth--;
15602 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
15604 if (flags & NDR_IN) {
15605 if (r->in.bind_handle == NULL) {
15606 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15608 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15609 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15610 if (r->in.req == NULL) {
15611 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15613 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15614 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15616 if (flags & NDR_OUT) {
15617 if (r->out.level_out == NULL) {
15618 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15620 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15621 if (r->out.ctr == NULL) {
15622 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15624 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15625 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15626 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15628 return NDR_ERR_SUCCESS;
15631 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
15633 TALLOC_CTX *_mem_save_bind_handle_0;
15634 TALLOC_CTX *_mem_save_req_0;
15635 TALLOC_CTX *_mem_save_level_out_0;
15636 TALLOC_CTX *_mem_save_ctr_0;
15637 if (flags & NDR_IN) {
15638 ZERO_STRUCT(r->out);
15640 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15641 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15643 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15644 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15645 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15646 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15647 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15648 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15649 NDR_PULL_ALLOC(ndr, r->in.req);
15651 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15652 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15653 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15654 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15655 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15656 NDR_PULL_ALLOC(ndr, r->out.level_out);
15657 ZERO_STRUCTP(r->out.level_out);
15658 NDR_PULL_ALLOC(ndr, r->out.ctr);
15659 ZERO_STRUCTP(r->out.ctr);
15661 if (flags & NDR_OUT) {
15662 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15663 NDR_PULL_ALLOC(ndr, r->out.level_out);
15665 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15666 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15667 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15668 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15669 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15670 NDR_PULL_ALLOC(ndr, r->out.ctr);
15672 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15673 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15674 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15675 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15676 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15677 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15679 return NDR_ERR_SUCCESS;
15682 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
15684 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
15685 ndr->depth++;
15686 if (flags & NDR_SET_VALUES) {
15687 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15689 if (flags & NDR_IN) {
15690 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
15691 ndr->depth++;
15692 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15693 ndr->depth++;
15694 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15695 ndr->depth--;
15696 ndr_print_int32(ndr, "level", r->in.level);
15697 ndr_print_ptr(ndr, "req", r->in.req);
15698 ndr->depth++;
15699 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15700 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
15701 ndr->depth--;
15702 ndr->depth--;
15704 if (flags & NDR_OUT) {
15705 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
15706 ndr->depth++;
15707 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15708 ndr->depth++;
15709 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15710 ndr->depth--;
15711 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15712 ndr->depth++;
15713 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15714 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
15715 ndr->depth--;
15716 ndr_print_WERROR(ndr, "result", r->out.result);
15717 ndr->depth--;
15719 ndr->depth--;
15722 static const struct ndr_interface_call drsuapi_calls[] = {
15724 "drsuapi_DsBind",
15725 sizeof(struct drsuapi_DsBind),
15726 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
15727 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
15728 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
15729 false,
15732 "drsuapi_DsUnbind",
15733 sizeof(struct drsuapi_DsUnbind),
15734 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
15735 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
15736 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
15737 false,
15740 "drsuapi_DsReplicaSync",
15741 sizeof(struct drsuapi_DsReplicaSync),
15742 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
15743 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
15744 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
15745 false,
15748 "drsuapi_DsGetNCChanges",
15749 sizeof(struct drsuapi_DsGetNCChanges),
15750 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
15751 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
15752 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
15753 false,
15756 "drsuapi_DsReplicaUpdateRefs",
15757 sizeof(struct drsuapi_DsReplicaUpdateRefs),
15758 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
15759 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
15760 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
15761 false,
15764 "drsuapi_DsReplicaAdd",
15765 sizeof(struct drsuapi_DsReplicaAdd),
15766 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
15767 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
15768 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
15769 false,
15772 "drsuapi_DsReplicaDel",
15773 sizeof(struct drsuapi_DsReplicaDel),
15774 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
15775 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
15776 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
15777 false,
15780 "drsuapi_DsReplicaMod",
15781 sizeof(struct drsuapi_DsReplicaMod),
15782 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
15783 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
15784 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
15785 false,
15788 "DRSUAPI_VERIFY_NAMES",
15789 sizeof(struct DRSUAPI_VERIFY_NAMES),
15790 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
15791 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
15792 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
15793 false,
15796 "drsuapi_DsGetMemberships",
15797 sizeof(struct drsuapi_DsGetMemberships),
15798 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
15799 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
15800 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
15801 false,
15804 "DRSUAPI_INTER_DOMAIN_MOVE",
15805 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
15806 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
15807 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
15808 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
15809 false,
15812 "drsuapi_DsGetNT4ChangeLog",
15813 sizeof(struct drsuapi_DsGetNT4ChangeLog),
15814 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
15815 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
15816 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
15817 false,
15820 "drsuapi_DsCrackNames",
15821 sizeof(struct drsuapi_DsCrackNames),
15822 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
15823 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
15824 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
15825 false,
15828 "drsuapi_DsWriteAccountSpn",
15829 sizeof(struct drsuapi_DsWriteAccountSpn),
15830 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
15831 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
15832 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
15833 false,
15836 "drsuapi_DsRemoveDSServer",
15837 sizeof(struct drsuapi_DsRemoveDSServer),
15838 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
15839 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
15840 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
15841 false,
15844 "DRSUAPI_REMOVE_DS_DOMAIN",
15845 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
15846 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
15847 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
15848 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
15849 false,
15852 "drsuapi_DsGetDomainControllerInfo",
15853 sizeof(struct drsuapi_DsGetDomainControllerInfo),
15854 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
15855 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
15856 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
15857 false,
15860 "drsuapi_DsAddEntry",
15861 sizeof(struct drsuapi_DsAddEntry),
15862 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
15863 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
15864 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
15865 false,
15868 "drsuapi_DsExecuteKCC",
15869 sizeof(struct drsuapi_DsExecuteKCC),
15870 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
15871 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
15872 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
15873 false,
15876 "drsuapi_DsReplicaGetInfo",
15877 sizeof(struct drsuapi_DsReplicaGetInfo),
15878 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
15879 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
15880 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
15881 false,
15884 "DRSUAPI_ADD_SID_HISTORY",
15885 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
15886 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
15887 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
15888 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
15889 false,
15892 "drsuapi_DsGetMemberships2",
15893 sizeof(struct drsuapi_DsGetMemberships2),
15894 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
15895 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
15896 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
15897 false,
15900 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15901 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
15902 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15903 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15904 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15905 false,
15908 "DRSUAPI_GET_OBJECT_EXISTENCE",
15909 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
15910 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
15911 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
15912 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
15913 false,
15916 "drsuapi_QuerySitesByCost",
15917 sizeof(struct drsuapi_QuerySitesByCost),
15918 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
15919 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
15920 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
15921 false,
15923 { NULL, 0, NULL, NULL, NULL, false }
15926 static const char * const drsuapi_endpoint_strings[] = {
15927 "ncacn_np:[\\pipe\\lsass]",
15928 "ncacn_np:[\\pipe\\protected_storage]",
15929 "ncacn_ip_tcp:",
15930 "ncalrpc:",
15933 static const struct ndr_interface_string_array drsuapi_endpoints = {
15934 .count = 4,
15935 .names = drsuapi_endpoint_strings
15938 static const char * const drsuapi_authservice_strings[] = {
15939 "ldap",
15942 static const struct ndr_interface_string_array drsuapi_authservices = {
15943 .count = 1,
15944 .names = drsuapi_authservice_strings
15948 const struct ndr_interface_table ndr_table_drsuapi = {
15949 .name = "drsuapi",
15950 .syntax_id = {
15951 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15952 NDR_DRSUAPI_VERSION
15954 .helpstring = NDR_DRSUAPI_HELPSTRING,
15955 .num_calls = 25,
15956 .calls = drsuapi_calls,
15957 .endpoints = &drsuapi_endpoints,
15958 .authservices = &drsuapi_authservices