1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_drsuapi.h"
6 #include "librpc/gen_ndr/ndr_security.h"
7 #include "librpc/gen_ndr/ndr_misc.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/ndr/ndr_compression.h"
10 _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)
19 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &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);
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);
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)
70 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &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);
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);
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)
125 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &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);
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);
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");
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);
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");
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);
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");
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);
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");
303 ndr_print_DATA_BLOB(ndr, "info", r->info);
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));
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));
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));
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));
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));
351 if (ndr_flags & NDR_BUFFERS) {
352 int level = ndr_push_get_switch_value(ndr, r);
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)
374 level = ndr_pull_get_switch_value(ndr, r);
375 if (ndr_flags & NDR_SCALARS) {
376 NDR_CHECK(ndr_pull_union_align(ndr, 1));
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));
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));
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));
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));
416 if (ndr_flags & NDR_BUFFERS) {
432 return NDR_ERR_SUCCESS;
435 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsBindInfo *r)
438 level = ndr_print_get_switch_value(ndr, r);
439 ndr_print_union(ndr, name, level, "drsuapi_DsBindInfo");
442 ndr_print_drsuapi_DsBindInfo24(ndr, "info24", &r->info24);
446 ndr_print_drsuapi_DsBindInfo28(ndr, "info28", &r->info28);
450 ndr_print_drsuapi_DsBindInfo48(ndr, "info48", &r->info48);
454 ndr_print_drsuapi_DsBindInfoFallBack(ndr, "FallBack", &r->FallBack);
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");
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);
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));
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");
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);
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)
569 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &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);
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);
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);
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);
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);
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);
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");
691 ndr_print_ptr(ndr, "naming_context", r->naming_context);
693 if (r->naming_context) {
694 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
697 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
698 ndr_print_ptr(ndr, "other_info", r->other_info);
701 ndr_print_string(ndr, "other_info", r->other_info);
704 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "options", r->options);
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));
716 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
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);
727 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
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)
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));
750 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
754 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
757 if (ndr_flags & NDR_BUFFERS) {
760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
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)
773 level = ndr_print_get_switch_value(ndr, r);
774 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
777 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
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");
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);
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");
853 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
854 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
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);
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");
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);
920 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
922 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
923 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
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)
940 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &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);
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);
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)
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));
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);
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)
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));
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);
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);
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);
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");
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);
1153 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1155 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1156 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1158 if (r->uptodateness_vector) {
1159 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
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);
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);
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");
1253 ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1254 ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
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) {
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);
1299 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1301 if (ndr_flags & NDR_BUFFERS) {
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);
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");
1330 ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1331 ndr_print_ptr(ndr, "mappings", r->mappings);
1334 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1336 for (cntr_mappings_1=0;cntr_mappings_1<r->num_mappings;cntr_mappings_1++) {
1338 if (asprintf(&idx_1, "[%d]", cntr_mappings_1) != -1) {
1339 ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
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)
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));
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);
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_rDNAttId: val = "DRSUAPI_ATTRIBUTE_rDNAttId"; break;
1393 case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1394 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1395 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1396 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1397 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1398 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1399 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1400 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1401 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1402 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1403 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1404 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1405 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1406 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1407 case DRSUAPI_ATTRIBUTE_auxiliaryClass: val = "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1408 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1409 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1410 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1411 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1412 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1413 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1414 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1415 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1416 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1417 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1418 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1419 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1420 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1421 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1422 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1423 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1424 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1425 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1426 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1427 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1428 case DRSUAPI_ATTRIBUTE_systemPossSuperiors: val = "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1429 case DRSUAPI_ATTRIBUTE_systemMayContain: val = "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1430 case DRSUAPI_ATTRIBUTE_systemMustContain: val = "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1431 case DRSUAPI_ATTRIBUTE_systemAuxiliaryClass: val = "DRSUAPI_ATTRIBUTE_systemAuxiliaryClass"; break;
1432 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1433 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1434 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1435 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1436 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1437 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1438 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1439 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1440 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1441 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1442 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1443 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1444 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1445 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1446 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1447 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1448 case DRSUAPI_ATTRIBUTE_transportAddressAttribute: val = "DRSUAPI_ATTRIBUTE_transportAddressAttribute"; break;
1449 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1450 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1451 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1452 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1454 ndr_print_enum(ndr, name, "ENUM", val, r);
1455 ndr->flags = _flags_save_ENUM;
1459 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1461 uint32_t cntr_attids_0;
1462 if (ndr_flags & NDR_SCALARS) {
1463 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
1464 NDR_CHECK(ndr_push_align(ndr, 4));
1465 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1466 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1468 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1469 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1471 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1473 if (ndr_flags & NDR_BUFFERS) {
1475 return NDR_ERR_SUCCESS;
1478 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1480 uint32_t cntr_attids_0;
1481 TALLOC_CTX *_mem_save_attids_0;
1482 if (ndr_flags & NDR_SCALARS) {
1483 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1484 NDR_CHECK(ndr_pull_align(ndr, 4));
1485 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1486 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1487 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1488 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1489 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1491 NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids));
1492 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1493 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1494 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1495 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1497 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1499 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1501 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1503 if (ndr_flags & NDR_BUFFERS) {
1505 return NDR_ERR_SUCCESS;
1508 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1510 uint32_t cntr_attids_0;
1511 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1513 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1514 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1515 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1516 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1518 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1520 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1521 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1529 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1531 if (ndr_flags & NDR_SCALARS) {
1532 NDR_CHECK(ndr_push_align(ndr, 8));
1533 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1534 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1535 if (r->naming_context == NULL) {
1536 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1538 NDR_CHECK(ndr_push_ref_ptr(ndr));
1539 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1540 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1541 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1542 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1544 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1545 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1546 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1547 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1548 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1549 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1551 if (ndr_flags & NDR_BUFFERS) {
1552 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1553 if (r->uptodateness_vector) {
1554 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1556 if (r->partial_attribute_set) {
1557 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1559 if (r->partial_attribute_set_ex) {
1560 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1562 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1564 return NDR_ERR_SUCCESS;
1567 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1569 uint32_t _ptr_naming_context;
1570 TALLOC_CTX *_mem_save_naming_context_0;
1571 uint32_t _ptr_uptodateness_vector;
1572 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1573 uint32_t _ptr_partial_attribute_set;
1574 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1575 uint32_t _ptr_partial_attribute_set_ex;
1576 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1577 if (ndr_flags & NDR_SCALARS) {
1578 NDR_CHECK(ndr_pull_align(ndr, 8));
1579 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1580 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1581 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1582 if (_ptr_naming_context) {
1583 NDR_PULL_ALLOC(ndr, r->naming_context);
1585 r->naming_context = NULL;
1587 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1588 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1589 if (_ptr_uptodateness_vector) {
1590 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1592 r->uptodateness_vector = NULL;
1594 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1595 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1596 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1597 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1598 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1599 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1600 if (_ptr_partial_attribute_set) {
1601 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1603 r->partial_attribute_set = NULL;
1605 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1606 if (_ptr_partial_attribute_set_ex) {
1607 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1609 r->partial_attribute_set_ex = NULL;
1611 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1612 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1614 if (ndr_flags & NDR_BUFFERS) {
1615 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1616 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1617 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1618 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1619 if (r->uptodateness_vector) {
1620 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1621 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1622 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1623 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1625 if (r->partial_attribute_set) {
1626 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1627 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1628 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1629 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1631 if (r->partial_attribute_set_ex) {
1632 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1633 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1634 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1635 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1637 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1639 return NDR_ERR_SUCCESS;
1642 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1644 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1646 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1647 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1648 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1650 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1652 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1653 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1655 if (r->uptodateness_vector) {
1656 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1659 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1660 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1661 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1662 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1663 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1664 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1666 if (r->partial_attribute_set) {
1667 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1670 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1672 if (r->partial_attribute_set_ex) {
1673 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1676 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1680 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
1682 if (ndr_flags & NDR_SCALARS) {
1683 NDR_CHECK(ndr_push_align(ndr, 8));
1684 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1685 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1686 if (r->naming_context == NULL) {
1687 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1689 NDR_CHECK(ndr_push_ref_ptr(ndr));
1690 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1691 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1692 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1693 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1694 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1695 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1696 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1697 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1698 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1699 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1700 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_flags));
1701 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1703 if (ndr_flags & NDR_BUFFERS) {
1704 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1705 if (r->uptodateness_vector) {
1706 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1708 if (r->partial_attribute_set) {
1709 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1711 if (r->partial_attribute_set_ex) {
1712 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1714 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1716 return NDR_ERR_SUCCESS;
1719 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
1721 uint32_t _ptr_naming_context;
1722 TALLOC_CTX *_mem_save_naming_context_0;
1723 uint32_t _ptr_uptodateness_vector;
1724 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1725 uint32_t _ptr_partial_attribute_set;
1726 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1727 uint32_t _ptr_partial_attribute_set_ex;
1728 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1729 if (ndr_flags & NDR_SCALARS) {
1730 NDR_CHECK(ndr_pull_align(ndr, 8));
1731 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1732 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1733 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1734 if (_ptr_naming_context) {
1735 NDR_PULL_ALLOC(ndr, r->naming_context);
1737 r->naming_context = NULL;
1739 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1740 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1741 if (_ptr_uptodateness_vector) {
1742 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1744 r->uptodateness_vector = NULL;
1746 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1747 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1748 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1749 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1750 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1751 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1752 if (_ptr_partial_attribute_set) {
1753 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1755 r->partial_attribute_set = NULL;
1757 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1758 if (_ptr_partial_attribute_set_ex) {
1759 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1761 r->partial_attribute_set_ex = NULL;
1763 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1764 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_flags));
1765 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1767 if (ndr_flags & NDR_BUFFERS) {
1768 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1769 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1770 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1771 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1772 if (r->uptodateness_vector) {
1773 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1774 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1775 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1776 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1778 if (r->partial_attribute_set) {
1779 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1780 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1781 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1784 if (r->partial_attribute_set_ex) {
1785 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1786 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1787 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1788 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1790 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1792 return NDR_ERR_SUCCESS;
1795 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
1797 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
1799 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1800 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1801 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1803 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1805 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1806 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1808 if (r->uptodateness_vector) {
1809 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1812 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1813 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1814 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1815 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1816 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1817 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1819 if (r->partial_attribute_set) {
1820 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1823 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1825 if (r->partial_attribute_set_ex) {
1826 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1829 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1830 ndr_print_uint32(ndr, "more_flags", r->more_flags);
1834 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1836 if (ndr_flags & NDR_SCALARS) {
1837 int level = ndr_push_get_switch_value(ndr, r);
1838 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
1839 NDR_CHECK(ndr_push_union_align(ndr, 8));
1842 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1846 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1850 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1854 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1857 if (ndr_flags & NDR_BUFFERS) {
1858 int level = ndr_push_get_switch_value(ndr, r);
1861 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1865 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1869 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1873 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1876 return NDR_ERR_SUCCESS;
1879 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1883 level = ndr_pull_get_switch_value(ndr, r);
1884 if (ndr_flags & NDR_SCALARS) {
1885 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
1886 if (_level != level) {
1887 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1889 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1892 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1896 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1900 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1904 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1907 if (ndr_flags & NDR_BUFFERS) {
1910 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1914 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1918 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1922 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1925 return NDR_ERR_SUCCESS;
1928 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1931 level = ndr_print_get_switch_value(ndr, r);
1932 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1935 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1939 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1943 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
1947 ndr_print_bad_level(ndr, name, level);
1951 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1953 if (ndr_flags & NDR_SCALARS) {
1954 NDR_CHECK(ndr_push_align(ndr, 8));
1955 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1956 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1957 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1958 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1960 if (ndr_flags & NDR_BUFFERS) {
1962 return NDR_ERR_SUCCESS;
1965 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1967 if (ndr_flags & NDR_SCALARS) {
1968 NDR_CHECK(ndr_pull_align(ndr, 8));
1969 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1970 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1971 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1972 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1974 if (ndr_flags & NDR_BUFFERS) {
1976 return NDR_ERR_SUCCESS;
1979 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
1981 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
1983 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1984 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
1985 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
1989 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1991 uint32_t cntr_cursors_0;
1992 if (ndr_flags & NDR_SCALARS) {
1993 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1994 NDR_CHECK(ndr_push_align(ndr, 8));
1995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
1996 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1997 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1998 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1999 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
2000 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
2002 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2004 if (ndr_flags & NDR_BUFFERS) {
2006 return NDR_ERR_SUCCESS;
2009 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
2011 uint32_t cntr_cursors_0;
2012 TALLOC_CTX *_mem_save_cursors_0;
2013 if (ndr_flags & NDR_SCALARS) {
2014 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
2015 NDR_CHECK(ndr_pull_align(ndr, 8));
2016 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2017 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
2018 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2019 if (r->count > 0x100000) {
2020 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2022 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
2023 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
2024 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
2025 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
2026 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
2027 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
2029 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
2031 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
2033 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2035 if (ndr_flags & NDR_BUFFERS) {
2037 return NDR_ERR_SUCCESS;
2040 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
2042 uint32_t cntr_cursors_0;
2043 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
2045 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
2046 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2047 ndr_print_uint32(ndr, "count", r->count);
2048 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2049 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
2051 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
2053 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
2054 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
2062 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
2064 if (ndr_flags & NDR_SCALARS) {
2065 NDR_CHECK(ndr_push_align(ndr, 5));
2066 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
2067 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
2068 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2070 if (ndr_flags & NDR_BUFFERS) {
2072 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
2075 return NDR_ERR_SUCCESS;
2078 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
2081 TALLOC_CTX *_mem_save_blob_0;
2082 if (ndr_flags & NDR_SCALARS) {
2083 NDR_CHECK(ndr_pull_align(ndr, 5));
2084 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2085 if (r->__ndr_size > 10485760) {
2086 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2088 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
2090 NDR_PULL_ALLOC(ndr, r->blob);
2094 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2096 if (ndr_flags & NDR_BUFFERS) {
2098 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
2099 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
2100 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
2101 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
2104 return NDR_ERR_SUCCESS;
2107 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
2109 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
2111 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
2112 ndr_print_ptr(ndr, "blob", r->blob);
2115 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
2121 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
2123 uint32_t cntr_values_1;
2124 if (ndr_flags & NDR_SCALARS) {
2125 NDR_CHECK(ndr_push_align(ndr, 5));
2126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
2127 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
2128 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2130 if (ndr_flags & NDR_BUFFERS) {
2132 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
2133 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2134 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2136 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2137 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2141 return NDR_ERR_SUCCESS;
2144 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
2146 uint32_t _ptr_values;
2147 uint32_t cntr_values_1;
2148 TALLOC_CTX *_mem_save_values_0;
2149 TALLOC_CTX *_mem_save_values_1;
2150 if (ndr_flags & NDR_SCALARS) {
2151 NDR_CHECK(ndr_pull_align(ndr, 5));
2152 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
2153 if (r->num_values > 10485760) {
2154 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2156 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
2158 NDR_PULL_ALLOC(ndr, r->values);
2162 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2164 if (ndr_flags & NDR_BUFFERS) {
2166 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2167 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2168 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
2169 NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values));
2170 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
2171 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2172 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2173 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2175 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2176 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2178 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
2179 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
2182 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
2185 return NDR_ERR_SUCCESS;
2188 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
2190 uint32_t cntr_values_1;
2191 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
2193 ndr_print_uint32(ndr, "num_values", r->num_values);
2194 ndr_print_ptr(ndr, "values", r->values);
2197 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
2199 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
2201 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
2202 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
2212 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2214 if (ndr_flags & NDR_SCALARS) {
2215 NDR_CHECK(ndr_push_align(ndr, 4));
2216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2218 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2219 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2220 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2221 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2222 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2224 if (ndr_flags & NDR_BUFFERS) {
2225 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2227 return NDR_ERR_SUCCESS;
2230 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
2232 if (ndr_flags & NDR_SCALARS) {
2233 NDR_CHECK(ndr_pull_align(ndr, 4));
2234 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2235 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2236 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2237 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2239 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2240 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2242 if (ndr_flags & NDR_BUFFERS) {
2243 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2245 return NDR_ERR_SUCCESS;
2248 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2250 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
2252 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);
2253 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);
2254 ndr_print_GUID(ndr, "guid", &r->guid);
2255 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2256 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2257 ndr_print_string(ndr, "dn", r->dn);
2261 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags)
2263 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic);
2266 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2268 if (ndr_flags & NDR_SCALARS) {
2269 NDR_CHECK(ndr_push_align(ndr, 4));
2270 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags)));
2271 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2272 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2273 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2274 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2275 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2276 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
2278 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2279 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2280 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
2281 ndr->flags = _flags_save_DATA_BLOB;
2283 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2285 if (ndr_flags & NDR_BUFFERS) {
2286 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2288 return NDR_ERR_SUCCESS;
2291 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2293 if (ndr_flags & NDR_SCALARS) {
2294 NDR_CHECK(ndr_pull_align(ndr, 4));
2295 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2296 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2297 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2298 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2299 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2300 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2301 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
2303 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2304 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2305 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
2306 ndr->flags = _flags_save_DATA_BLOB;
2308 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2310 if (ndr_flags & NDR_BUFFERS) {
2311 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2313 return NDR_ERR_SUCCESS;
2316 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2318 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2320 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);
2321 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);
2322 ndr_print_GUID(ndr, "guid", &r->guid);
2323 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2324 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2325 ndr_print_string(ndr, "dn", r->dn);
2326 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2327 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2331 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2333 if (ndr_flags & NDR_SCALARS) {
2334 NDR_CHECK(ndr_push_align(ndr, 5));
2335 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2336 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2337 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2339 if (ndr_flags & NDR_BUFFERS) {
2340 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2342 return NDR_ERR_SUCCESS;
2345 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2347 if (ndr_flags & NDR_SCALARS) {
2348 NDR_CHECK(ndr_pull_align(ndr, 5));
2349 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2350 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2351 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2353 if (ndr_flags & NDR_BUFFERS) {
2354 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2356 return NDR_ERR_SUCCESS;
2359 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2361 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2363 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2364 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2368 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2370 uint32_t cntr_attributes_1;
2371 if (ndr_flags & NDR_SCALARS) {
2372 NDR_CHECK(ndr_push_align(ndr, 5));
2373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2374 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2375 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2377 if (ndr_flags & NDR_BUFFERS) {
2378 if (r->attributes) {
2379 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
2380 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2381 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2383 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2384 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2388 return NDR_ERR_SUCCESS;
2391 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2393 uint32_t _ptr_attributes;
2394 uint32_t cntr_attributes_1;
2395 TALLOC_CTX *_mem_save_attributes_0;
2396 TALLOC_CTX *_mem_save_attributes_1;
2397 if (ndr_flags & NDR_SCALARS) {
2398 NDR_CHECK(ndr_pull_align(ndr, 5));
2399 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2400 if (r->num_attributes > 1048576) {
2401 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2403 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2404 if (_ptr_attributes) {
2405 NDR_PULL_ALLOC(ndr, r->attributes);
2407 r->attributes = NULL;
2409 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2411 if (ndr_flags & NDR_BUFFERS) {
2412 if (r->attributes) {
2413 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2414 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2415 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2416 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes));
2417 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2418 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2419 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2420 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2422 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2423 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2425 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2426 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2428 if (r->attributes) {
2429 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2432 return NDR_ERR_SUCCESS;
2435 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2437 uint32_t cntr_attributes_1;
2438 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2440 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2441 ndr_print_ptr(ndr, "attributes", r->attributes);
2443 if (r->attributes) {
2444 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2446 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2448 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2449 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2459 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2461 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2462 return NDR_ERR_SUCCESS;
2465 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2468 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2470 return NDR_ERR_SUCCESS;
2473 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2475 ndr_print_uint32(ndr, name, r);
2477 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2478 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2479 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2483 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2485 if (ndr_flags & NDR_SCALARS) {
2486 NDR_CHECK(ndr_push_align(ndr, 5));
2487 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2488 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2489 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2490 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2492 if (ndr_flags & NDR_BUFFERS) {
2493 if (r->identifier) {
2494 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2496 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2498 return NDR_ERR_SUCCESS;
2501 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2503 uint32_t _ptr_identifier;
2504 TALLOC_CTX *_mem_save_identifier_0;
2505 if (ndr_flags & NDR_SCALARS) {
2506 NDR_CHECK(ndr_pull_align(ndr, 5));
2507 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2508 if (_ptr_identifier) {
2509 NDR_PULL_ALLOC(ndr, r->identifier);
2511 r->identifier = NULL;
2513 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2514 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2515 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2517 if (ndr_flags & NDR_BUFFERS) {
2518 if (r->identifier) {
2519 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2520 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2521 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2524 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2526 return NDR_ERR_SUCCESS;
2529 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2531 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2533 ndr_print_ptr(ndr, "identifier", r->identifier);
2535 if (r->identifier) {
2536 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2539 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2540 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2544 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2546 if (ndr_flags & NDR_SCALARS) {
2547 NDR_CHECK(ndr_push_align(ndr, 8));
2548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2549 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2550 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2551 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2552 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2554 if (ndr_flags & NDR_BUFFERS) {
2556 return NDR_ERR_SUCCESS;
2559 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2561 if (ndr_flags & NDR_SCALARS) {
2562 NDR_CHECK(ndr_pull_align(ndr, 8));
2563 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2564 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2565 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2566 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2567 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2569 if (ndr_flags & NDR_BUFFERS) {
2571 return NDR_ERR_SUCCESS;
2574 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2576 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2578 ndr_print_uint32(ndr, "version", r->version);
2579 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2580 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2581 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2585 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2587 uint32_t cntr_meta_data_0;
2588 if (ndr_flags & NDR_SCALARS) {
2589 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2590 NDR_CHECK(ndr_push_align(ndr, 8));
2591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2592 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2593 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2595 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2597 if (ndr_flags & NDR_BUFFERS) {
2599 return NDR_ERR_SUCCESS;
2602 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2604 uint32_t cntr_meta_data_0;
2605 TALLOC_CTX *_mem_save_meta_data_0;
2606 if (ndr_flags & NDR_SCALARS) {
2607 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2608 NDR_CHECK(ndr_pull_align(ndr, 8));
2609 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2610 if (r->count > 1048576) {
2611 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2613 NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data));
2614 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2615 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2616 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2617 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2621 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2623 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2625 if (ndr_flags & NDR_BUFFERS) {
2627 return NDR_ERR_SUCCESS;
2630 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2632 uint32_t cntr_meta_data_0;
2633 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2635 ndr_print_uint32(ndr, "count", r->count);
2636 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2638 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2640 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2641 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2649 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2651 if (ndr_flags & NDR_SCALARS) {
2652 NDR_CHECK(ndr_push_align(ndr, 5));
2653 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2654 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2656 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2657 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2658 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2660 if (ndr_flags & NDR_BUFFERS) {
2661 if (r->next_object) {
2662 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2664 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2665 if (r->parent_object_guid) {
2666 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2668 if (r->meta_data_ctr) {
2669 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2672 return NDR_ERR_SUCCESS;
2675 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2677 uint32_t _ptr_next_object;
2678 TALLOC_CTX *_mem_save_next_object_0;
2679 uint32_t _ptr_parent_object_guid;
2680 TALLOC_CTX *_mem_save_parent_object_guid_0;
2681 uint32_t _ptr_meta_data_ctr;
2682 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2683 if (ndr_flags & NDR_SCALARS) {
2684 NDR_CHECK(ndr_pull_align(ndr, 5));
2685 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2686 if (_ptr_next_object) {
2687 NDR_PULL_ALLOC(ndr, r->next_object);
2689 r->next_object = NULL;
2691 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2692 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2693 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2694 if (_ptr_parent_object_guid) {
2695 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2697 r->parent_object_guid = NULL;
2699 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2700 if (_ptr_meta_data_ctr) {
2701 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2703 r->meta_data_ctr = NULL;
2705 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2707 if (ndr_flags & NDR_BUFFERS) {
2708 if (r->next_object) {
2709 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2710 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2711 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2712 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2714 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2715 if (r->parent_object_guid) {
2716 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2717 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2718 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2719 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2721 if (r->meta_data_ctr) {
2722 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2723 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2724 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2725 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2728 return NDR_ERR_SUCCESS;
2731 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2733 if (ndr_flags & NDR_SCALARS) {
2734 NDR_CHECK(ndr_push_align(ndr, 8));
2735 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2736 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2737 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2738 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2739 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2740 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2741 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2742 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2743 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2744 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55));
2745 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2747 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2749 if (ndr_flags & NDR_BUFFERS) {
2750 if (r->naming_context) {
2751 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2753 if (r->uptodateness_vector) {
2754 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2756 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2757 if (r->first_object) {
2758 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2761 return NDR_ERR_SUCCESS;
2764 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2766 uint32_t _ptr_naming_context;
2767 TALLOC_CTX *_mem_save_naming_context_0;
2768 uint32_t _ptr_uptodateness_vector;
2769 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2770 uint32_t _ptr_first_object;
2771 TALLOC_CTX *_mem_save_first_object_0;
2772 if (ndr_flags & NDR_SCALARS) {
2773 NDR_CHECK(ndr_pull_align(ndr, 8));
2774 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2775 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2776 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2777 if (_ptr_naming_context) {
2778 NDR_PULL_ALLOC(ndr, r->naming_context);
2780 r->naming_context = NULL;
2782 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2783 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2784 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2785 if (_ptr_uptodateness_vector) {
2786 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2788 r->uptodateness_vector = NULL;
2790 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2791 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2792 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2793 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2794 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2795 if (_ptr_first_object) {
2796 NDR_PULL_ALLOC(ndr, r->first_object);
2798 r->first_object = NULL;
2800 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2801 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2803 if (ndr_flags & NDR_BUFFERS) {
2804 if (r->naming_context) {
2805 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2806 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2807 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2808 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2810 if (r->uptodateness_vector) {
2811 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2812 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2813 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2814 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2816 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2817 if (r->first_object) {
2818 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2819 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2820 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2821 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2824 return NDR_ERR_SUCCESS;
2827 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2829 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2831 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2832 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2833 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2835 if (r->naming_context) {
2836 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2839 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2840 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2841 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2843 if (r->uptodateness_vector) {
2844 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2847 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2848 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2849 ndr_print_uint32(ndr, "object_count", r->object_count);
2850 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);
2851 ndr_print_ptr(ndr, "first_object", r->first_object);
2853 if (r->first_object) {
2854 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2857 ndr_print_uint32(ndr, "more_data", r->more_data);
2861 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags)
2863 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic);
2866 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2868 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2869 return NDR_ERR_SUCCESS;
2872 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2875 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2877 return NDR_ERR_SUCCESS;
2880 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2882 ndr_print_uint32(ndr, name, r);
2884 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2888 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2890 if (ndr_flags & NDR_SCALARS) {
2891 NDR_CHECK(ndr_push_align(ndr, 8));
2892 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2893 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2894 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2895 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2896 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2897 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2898 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2900 if (ndr_flags & NDR_BUFFERS) {
2901 if (r->identifier) {
2902 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2904 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2906 return NDR_ERR_SUCCESS;
2909 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2911 uint32_t _ptr_identifier;
2912 TALLOC_CTX *_mem_save_identifier_0;
2913 if (ndr_flags & NDR_SCALARS) {
2914 NDR_CHECK(ndr_pull_align(ndr, 8));
2915 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2916 if (_ptr_identifier) {
2917 NDR_PULL_ALLOC(ndr, r->identifier);
2919 r->identifier = NULL;
2921 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2922 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2923 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2924 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2925 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2926 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2928 if (ndr_flags & NDR_BUFFERS) {
2929 if (r->identifier) {
2930 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2931 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2932 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2933 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2935 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2937 return NDR_ERR_SUCCESS;
2940 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2942 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2944 ndr_print_ptr(ndr, "identifier", r->identifier);
2946 if (r->identifier) {
2947 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2950 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2951 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2952 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2953 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2954 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2958 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2960 uint32_t cntr_linked_attributes_1;
2961 if (ndr_flags & NDR_SCALARS) {
2962 NDR_CHECK(ndr_push_align(ndr, 8));
2963 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2964 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2965 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2966 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2967 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2968 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2969 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2970 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55));
2973 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2974 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2975 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2977 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2978 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2979 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2980 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2982 if (ndr_flags & NDR_BUFFERS) {
2983 if (r->naming_context) {
2984 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2986 if (r->uptodateness_vector) {
2987 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2989 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2990 if (r->first_object) {
2991 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2993 if (r->linked_attributes) {
2994 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
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_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2998 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2999 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3003 return NDR_ERR_SUCCESS;
3006 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
3008 uint32_t _ptr_naming_context;
3009 TALLOC_CTX *_mem_save_naming_context_0;
3010 uint32_t _ptr_uptodateness_vector;
3011 TALLOC_CTX *_mem_save_uptodateness_vector_0;
3012 uint32_t _ptr_first_object;
3013 TALLOC_CTX *_mem_save_first_object_0;
3014 uint32_t _ptr_linked_attributes;
3015 uint32_t cntr_linked_attributes_1;
3016 TALLOC_CTX *_mem_save_linked_attributes_0;
3017 TALLOC_CTX *_mem_save_linked_attributes_1;
3018 if (ndr_flags & NDR_SCALARS) {
3019 NDR_CHECK(ndr_pull_align(ndr, 8));
3020 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
3021 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
3022 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
3023 if (_ptr_naming_context) {
3024 NDR_PULL_ALLOC(ndr, r->naming_context);
3026 r->naming_context = NULL;
3028 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
3029 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
3030 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
3031 if (_ptr_uptodateness_vector) {
3032 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
3034 r->uptodateness_vector = NULL;
3036 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
3037 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
3038 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
3039 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
3040 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
3041 if (_ptr_first_object) {
3042 NDR_PULL_ALLOC(ndr, r->first_object);
3044 r->first_object = NULL;
3046 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
3047 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
3048 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
3049 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
3050 if (r->linked_attributes_count > 1048576) {
3051 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3053 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
3054 if (_ptr_linked_attributes) {
3055 NDR_PULL_ALLOC(ndr, r->linked_attributes);
3057 r->linked_attributes = NULL;
3059 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
3060 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3062 if (ndr_flags & NDR_BUFFERS) {
3063 if (r->naming_context) {
3064 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3065 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3066 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3067 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3069 if (r->uptodateness_vector) {
3070 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
3071 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
3072 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
3073 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
3075 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3076 if (r->first_object) {
3077 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
3078 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
3079 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3080 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
3082 if (r->linked_attributes) {
3083 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
3084 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3085 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
3086 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes));
3087 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
3088 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
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_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3092 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3093 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3095 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
3096 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
3098 if (r->linked_attributes) {
3099 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
3102 return NDR_ERR_SUCCESS;
3105 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
3107 uint32_t cntr_linked_attributes_1;
3108 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
3110 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3111 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3112 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3114 if (r->naming_context) {
3115 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3118 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3119 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3120 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3122 if (r->uptodateness_vector) {
3123 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3126 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3127 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3128 ndr_print_uint32(ndr, "object_count", r->object_count);
3129 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);
3130 ndr_print_ptr(ndr, "first_object", r->first_object);
3132 if (r->first_object) {
3133 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3136 ndr_print_uint32(ndr, "more_data", r->more_data);
3137 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
3138 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
3139 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
3140 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
3142 if (r->linked_attributes) {
3143 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
3145 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
3147 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
3148 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
3155 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
3159 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags)
3161 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic);
3164 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3166 if (ndr_flags & NDR_SCALARS) {
3167 NDR_CHECK(ndr_push_align(ndr, 1));
3169 struct ndr_push *_ndr_ctr1;
3170 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3171 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3172 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3174 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3176 if (ndr_flags & NDR_BUFFERS) {
3178 return NDR_ERR_SUCCESS;
3181 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
3183 if (ndr_flags & NDR_SCALARS) {
3184 NDR_CHECK(ndr_pull_align(ndr, 1));
3186 struct ndr_pull *_ndr_ctr1;
3187 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3188 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3189 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3191 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3193 if (ndr_flags & NDR_BUFFERS) {
3195 return NDR_ERR_SUCCESS;
3198 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3200 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
3202 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3206 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3208 if (ndr_flags & NDR_SCALARS) {
3209 NDR_CHECK(ndr_push_align(ndr, 1));
3211 struct ndr_push *_ndr_ctr6;
3212 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3213 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3214 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3216 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3218 if (ndr_flags & NDR_BUFFERS) {
3220 return NDR_ERR_SUCCESS;
3223 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
3225 if (ndr_flags & NDR_SCALARS) {
3226 NDR_CHECK(ndr_pull_align(ndr, 1));
3228 struct ndr_pull *_ndr_ctr6;
3229 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3230 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3231 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3233 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3235 if (ndr_flags & NDR_BUFFERS) {
3237 return NDR_ERR_SUCCESS;
3240 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3242 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
3244 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3248 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3251 TALLOC_CTX *_mem_save_ts_0;
3252 if (ndr_flags & NDR_SCALARS) {
3253 NDR_CHECK(ndr_pull_align(ndr, 5));
3254 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3255 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3256 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3258 NDR_PULL_ALLOC(ndr, r->ts);
3262 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3264 if (ndr_flags & NDR_BUFFERS) {
3266 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3267 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3269 struct ndr_pull *_ndr_ts;
3270 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3272 struct ndr_pull *_ndr_ts_compressed;
3273 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3274 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3275 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3277 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3279 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3282 return NDR_ERR_SUCCESS;
3285 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3287 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
3289 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3290 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3291 ndr_print_ptr(ndr, "ts", r->ts);
3294 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3300 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3303 TALLOC_CTX *_mem_save_ts_0;
3304 if (ndr_flags & NDR_SCALARS) {
3305 NDR_CHECK(ndr_pull_align(ndr, 5));
3306 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3307 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3308 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3310 NDR_PULL_ALLOC(ndr, r->ts);
3314 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3316 if (ndr_flags & NDR_BUFFERS) {
3318 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3319 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3321 struct ndr_pull *_ndr_ts;
3322 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3324 struct ndr_pull *_ndr_ts_compressed;
3325 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3326 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3327 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3329 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3331 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3334 return NDR_ERR_SUCCESS;
3337 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3339 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3341 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3342 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3343 ndr_print_ptr(ndr, "ts", r->ts);
3346 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3352 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3355 TALLOC_CTX *_mem_save_ts_0;
3356 if (ndr_flags & NDR_SCALARS) {
3357 NDR_CHECK(ndr_pull_align(ndr, 5));
3358 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3359 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3360 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3362 NDR_PULL_ALLOC(ndr, r->ts);
3366 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3368 if (ndr_flags & NDR_BUFFERS) {
3370 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3371 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3373 struct ndr_pull *_ndr_ts;
3374 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3376 struct ndr_pull *_ndr_ts_compressed;
3377 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3378 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3379 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3381 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3386 return NDR_ERR_SUCCESS;
3389 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3391 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3393 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3394 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3395 ndr_print_ptr(ndr, "ts", r->ts);
3398 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3404 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3407 TALLOC_CTX *_mem_save_ts_0;
3408 if (ndr_flags & NDR_SCALARS) {
3409 NDR_CHECK(ndr_pull_align(ndr, 5));
3410 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3411 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3412 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3414 NDR_PULL_ALLOC(ndr, r->ts);
3418 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3420 if (ndr_flags & NDR_BUFFERS) {
3422 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3423 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3425 struct ndr_pull *_ndr_ts;
3426 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3428 struct ndr_pull *_ndr_ts_compressed;
3429 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3430 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3431 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3433 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3435 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3438 return NDR_ERR_SUCCESS;
3441 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3443 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3445 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3446 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3447 ndr_print_ptr(ndr, "ts", r->ts);
3450 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3456 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3458 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3459 return NDR_ERR_SUCCESS;
3462 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3465 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3467 return NDR_ERR_SUCCESS;
3470 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3472 const char *val = NULL;
3475 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3476 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3478 ndr_print_enum(ndr, name, "ENUM", val, r);
3481 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3484 uint32_t _flags_save_UNION = ndr->flags;
3485 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3486 if (ndr_flags & NDR_SCALARS) {
3487 int level = ndr_push_get_switch_value(ndr, r);
3488 NDR_CHECK(ndr_push_union_align(ndr, 5));
3490 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3491 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3494 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3495 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3498 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3499 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3502 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3503 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3507 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3510 if (ndr_flags & NDR_BUFFERS) {
3511 int level = ndr_push_get_switch_value(ndr, r);
3513 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3514 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3517 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3518 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3521 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3522 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3525 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3526 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3530 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3533 ndr->flags = _flags_save_UNION;
3535 return NDR_ERR_SUCCESS;
3538 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3542 uint32_t _flags_save_UNION = ndr->flags;
3543 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3544 level = ndr_pull_get_switch_value(ndr, r);
3545 if (ndr_flags & NDR_SCALARS) {
3546 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3548 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3549 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3552 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3553 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3556 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3557 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3560 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3561 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3565 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3568 if (ndr_flags & NDR_BUFFERS) {
3570 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3571 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3574 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3575 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3578 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3579 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3582 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3583 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3587 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3590 ndr->flags = _flags_save_UNION;
3592 return NDR_ERR_SUCCESS;
3595 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3599 uint32_t _flags_save_UNION = ndr->flags;
3600 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3601 level = ndr_print_get_switch_value(ndr, r);
3602 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3604 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3605 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3608 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3609 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3612 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3613 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3616 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3617 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3621 ndr_print_bad_level(ndr, name, level);
3623 ndr->flags = _flags_save_UNION;
3627 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3629 if (ndr_flags & NDR_SCALARS) {
3630 NDR_CHECK(ndr_push_align(ndr, 5));
3631 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3632 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3634 if (ndr_flags & NDR_BUFFERS) {
3635 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3637 return NDR_ERR_SUCCESS;
3640 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3642 if (ndr_flags & NDR_SCALARS) {
3643 NDR_CHECK(ndr_pull_align(ndr, 5));
3644 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3645 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3647 if (ndr_flags & NDR_BUFFERS) {
3648 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3650 return NDR_ERR_SUCCESS;
3653 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3655 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3657 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3661 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3663 if (ndr_flags & NDR_SCALARS) {
3664 NDR_CHECK(ndr_push_align(ndr, 5));
3665 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
3666 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3667 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3668 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3669 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3671 if (ndr_flags & NDR_BUFFERS) {
3672 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3674 return NDR_ERR_SUCCESS;
3677 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3679 if (ndr_flags & NDR_SCALARS) {
3680 NDR_CHECK(ndr_pull_align(ndr, 5));
3681 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
3682 if (r->level < 0 || r->level > 6) {
3683 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3685 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3686 if (r->type < 2 || r->type > 3) {
3687 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3689 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3690 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3691 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3693 if (ndr_flags & NDR_BUFFERS) {
3694 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3696 return NDR_ERR_SUCCESS;
3699 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3701 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3703 ndr_print_int32(ndr, "level", r->level);
3704 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3705 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3706 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3710 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3712 if (ndr_flags & NDR_SCALARS) {
3713 int level = ndr_push_get_switch_value(ndr, r);
3714 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3715 NDR_CHECK(ndr_push_union_align(ndr, 8));
3718 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3722 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3726 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3730 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3734 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3737 if (ndr_flags & NDR_BUFFERS) {
3738 int level = ndr_push_get_switch_value(ndr, r);
3741 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3745 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3749 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3753 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3757 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3760 return NDR_ERR_SUCCESS;
3763 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3767 level = ndr_pull_get_switch_value(ndr, r);
3768 if (ndr_flags & NDR_SCALARS) {
3769 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3770 if (_level != level) {
3771 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3773 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3776 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3780 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3784 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3788 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3792 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3795 if (ndr_flags & NDR_BUFFERS) {
3798 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3802 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3806 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3810 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3814 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3817 return NDR_ERR_SUCCESS;
3820 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3823 level = ndr_print_get_switch_value(ndr, r);
3824 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3827 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3831 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3835 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3839 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3843 ndr_print_bad_level(ndr, name, level);
3847 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3849 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3850 return NDR_ERR_SUCCESS;
3853 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3856 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3858 return NDR_ERR_SUCCESS;
3861 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3863 ndr_print_uint32(ndr, name, r);
3865 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION, r);
3866 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK", DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK, r);
3867 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE, r);
3868 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE, r);
3869 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE, r);
3873 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3875 if (ndr_flags & NDR_SCALARS) {
3876 NDR_CHECK(ndr_push_align(ndr, 5));
3877 if (r->naming_context == NULL) {
3878 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3880 NDR_CHECK(ndr_push_ref_ptr(ndr));
3881 if (r->dest_dsa_dns_name == NULL) {
3882 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3884 NDR_CHECK(ndr_push_ref_ptr(ndr));
3885 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3886 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->options));
3887 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3889 if (ndr_flags & NDR_BUFFERS) {
3890 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3891 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3892 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3893 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3894 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));
3896 return NDR_ERR_SUCCESS;
3899 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3901 uint32_t _ptr_naming_context;
3902 TALLOC_CTX *_mem_save_naming_context_0;
3903 uint32_t _ptr_dest_dsa_dns_name;
3904 if (ndr_flags & NDR_SCALARS) {
3905 NDR_CHECK(ndr_pull_align(ndr, 5));
3906 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3907 if (_ptr_naming_context) {
3908 NDR_PULL_ALLOC(ndr, r->naming_context);
3910 r->naming_context = NULL;
3912 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3913 if (_ptr_dest_dsa_dns_name) {
3914 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3916 r->dest_dsa_dns_name = NULL;
3918 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3919 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->options));
3920 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3922 if (ndr_flags & NDR_BUFFERS) {
3923 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3924 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3925 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3927 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3928 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3929 if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) {
3930 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));
3932 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t)));
3933 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));
3935 return NDR_ERR_SUCCESS;
3938 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3940 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3942 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3944 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3946 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3948 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3950 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3951 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "options", r->options);
3955 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3957 if (ndr_flags & NDR_SCALARS) {
3958 int level = ndr_push_get_switch_value(ndr, r);
3959 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3960 NDR_CHECK(ndr_push_union_align(ndr, 5));
3963 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3967 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3970 if (ndr_flags & NDR_BUFFERS) {
3971 int level = ndr_push_get_switch_value(ndr, r);
3974 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3978 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3981 return NDR_ERR_SUCCESS;
3984 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3988 level = ndr_pull_get_switch_value(ndr, r);
3989 if (ndr_flags & NDR_SCALARS) {
3990 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3991 if (_level != level) {
3992 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3994 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3997 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
4001 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4004 if (ndr_flags & NDR_BUFFERS) {
4007 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
4011 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4014 return NDR_ERR_SUCCESS;
4017 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
4020 level = ndr_print_get_switch_value(ndr, r);
4021 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
4024 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
4028 ndr_print_bad_level(ndr, name, level);
4032 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4034 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4035 return NDR_ERR_SUCCESS;
4038 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4041 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4043 return NDR_ERR_SUCCESS;
4046 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4048 ndr_print_uint32(ndr, name, r);
4050 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4051 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4055 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
4057 if (ndr_flags & NDR_SCALARS) {
4058 NDR_CHECK(ndr_push_align(ndr, 5));
4059 if (r->naming_context == NULL) {
4060 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4062 NDR_CHECK(ndr_push_ref_ptr(ndr));
4063 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4064 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4065 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
4066 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4068 if (ndr_flags & NDR_BUFFERS) {
4069 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4070 if (r->source_dsa_address) {
4071 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4072 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4073 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4074 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));
4077 return NDR_ERR_SUCCESS;
4080 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
4082 uint32_t _ptr_naming_context;
4083 TALLOC_CTX *_mem_save_naming_context_0;
4084 uint32_t _ptr_source_dsa_address;
4085 TALLOC_CTX *_mem_save_source_dsa_address_0;
4086 if (ndr_flags & NDR_SCALARS) {
4087 NDR_CHECK(ndr_pull_align(ndr, 5));
4088 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4089 if (_ptr_naming_context) {
4090 NDR_PULL_ALLOC(ndr, r->naming_context);
4092 r->naming_context = NULL;
4094 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4095 if (_ptr_source_dsa_address) {
4096 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4098 r->source_dsa_address = NULL;
4100 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4101 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
4102 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4104 if (ndr_flags & NDR_BUFFERS) {
4105 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4106 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4107 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4109 if (r->source_dsa_address) {
4110 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4111 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4112 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4113 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4114 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4115 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));
4117 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4118 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));
4119 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4122 return NDR_ERR_SUCCESS;
4125 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
4127 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
4129 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4131 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4133 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4135 if (r->source_dsa_address) {
4136 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4139 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4140 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
4144 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
4146 if (ndr_flags & NDR_SCALARS) {
4147 NDR_CHECK(ndr_push_align(ndr, 5));
4148 if (r->naming_context == NULL) {
4149 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4151 NDR_CHECK(ndr_push_ref_ptr(ndr));
4152 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
4153 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
4154 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4155 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4156 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
4157 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4159 if (ndr_flags & NDR_BUFFERS) {
4160 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4161 if (r->source_dsa_dn) {
4162 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4164 if (r->transport_dn) {
4165 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4167 if (r->source_dsa_address) {
4168 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4169 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4170 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4171 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));
4174 return NDR_ERR_SUCCESS;
4177 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
4179 uint32_t _ptr_naming_context;
4180 TALLOC_CTX *_mem_save_naming_context_0;
4181 uint32_t _ptr_source_dsa_dn;
4182 TALLOC_CTX *_mem_save_source_dsa_dn_0;
4183 uint32_t _ptr_transport_dn;
4184 TALLOC_CTX *_mem_save_transport_dn_0;
4185 uint32_t _ptr_source_dsa_address;
4186 TALLOC_CTX *_mem_save_source_dsa_address_0;
4187 if (ndr_flags & NDR_SCALARS) {
4188 NDR_CHECK(ndr_pull_align(ndr, 5));
4189 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4190 if (_ptr_naming_context) {
4191 NDR_PULL_ALLOC(ndr, r->naming_context);
4193 r->naming_context = NULL;
4195 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
4196 if (_ptr_source_dsa_dn) {
4197 NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
4199 r->source_dsa_dn = NULL;
4201 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
4202 if (_ptr_transport_dn) {
4203 NDR_PULL_ALLOC(ndr, r->transport_dn);
4205 r->transport_dn = NULL;
4207 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4208 if (_ptr_source_dsa_address) {
4209 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4211 r->source_dsa_address = NULL;
4213 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4214 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
4215 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4217 if (ndr_flags & NDR_BUFFERS) {
4218 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4219 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4220 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4221 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4222 if (r->source_dsa_dn) {
4223 _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4224 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
4225 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4226 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
4228 if (r->transport_dn) {
4229 _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4230 NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
4231 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4232 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
4234 if (r->source_dsa_address) {
4235 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4236 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4237 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4238 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4239 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4240 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));
4242 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4243 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));
4244 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4247 return NDR_ERR_SUCCESS;
4250 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
4252 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
4254 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4256 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4258 ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
4260 if (r->source_dsa_dn) {
4261 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
4264 ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
4266 if (r->transport_dn) {
4267 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
4270 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4272 if (r->source_dsa_address) {
4273 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4276 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4277 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
4281 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
4283 if (ndr_flags & NDR_SCALARS) {
4284 int level = ndr_push_get_switch_value(ndr, r);
4285 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4286 NDR_CHECK(ndr_push_union_align(ndr, 5));
4289 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4293 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4297 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4300 if (ndr_flags & NDR_BUFFERS) {
4301 int level = ndr_push_get_switch_value(ndr, r);
4304 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4308 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4312 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4315 return NDR_ERR_SUCCESS;
4318 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
4322 level = ndr_pull_get_switch_value(ndr, r);
4323 if (ndr_flags & NDR_SCALARS) {
4324 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4325 if (_level != level) {
4326 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4328 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4331 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4335 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4339 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4342 if (ndr_flags & NDR_BUFFERS) {
4345 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4349 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4353 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4356 return NDR_ERR_SUCCESS;
4359 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4362 level = ndr_print_get_switch_value(ndr, r);
4363 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4366 ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4370 ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4374 ndr_print_bad_level(ndr, name, level);
4378 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4381 return NDR_ERR_SUCCESS;
4384 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4387 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4389 return NDR_ERR_SUCCESS;
4392 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4394 ndr_print_uint32(ndr, name, r);
4396 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4397 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4401 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4403 if (ndr_flags & NDR_SCALARS) {
4404 NDR_CHECK(ndr_push_align(ndr, 5));
4405 if (r->naming_context == NULL) {
4406 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4408 NDR_CHECK(ndr_push_ref_ptr(ndr));
4409 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4410 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->options));
4411 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4413 if (ndr_flags & NDR_BUFFERS) {
4414 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4415 if (r->source_dsa_address) {
4416 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4417 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4418 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4419 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));
4422 return NDR_ERR_SUCCESS;
4425 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4427 uint32_t _ptr_naming_context;
4428 TALLOC_CTX *_mem_save_naming_context_0;
4429 uint32_t _ptr_source_dsa_address;
4430 TALLOC_CTX *_mem_save_source_dsa_address_0;
4431 if (ndr_flags & NDR_SCALARS) {
4432 NDR_CHECK(ndr_pull_align(ndr, 5));
4433 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4434 if (_ptr_naming_context) {
4435 NDR_PULL_ALLOC(ndr, r->naming_context);
4437 r->naming_context = NULL;
4439 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4440 if (_ptr_source_dsa_address) {
4441 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4443 r->source_dsa_address = NULL;
4445 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->options));
4446 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4448 if (ndr_flags & NDR_BUFFERS) {
4449 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4450 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4451 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4452 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4453 if (r->source_dsa_address) {
4454 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4455 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4456 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4457 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4458 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4459 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));
4461 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4462 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));
4463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4466 return NDR_ERR_SUCCESS;
4469 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4471 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4473 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4475 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4477 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4479 if (r->source_dsa_address) {
4480 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4483 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "options", r->options);
4487 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4489 if (ndr_flags & NDR_SCALARS) {
4490 int level = ndr_push_get_switch_value(ndr, r);
4491 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4492 NDR_CHECK(ndr_push_union_align(ndr, 5));
4495 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4499 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4502 if (ndr_flags & NDR_BUFFERS) {
4503 int level = ndr_push_get_switch_value(ndr, r);
4506 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4510 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4513 return NDR_ERR_SUCCESS;
4516 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4520 level = ndr_pull_get_switch_value(ndr, r);
4521 if (ndr_flags & NDR_SCALARS) {
4522 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4523 if (_level != level) {
4524 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4526 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4529 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4533 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4536 if (ndr_flags & NDR_BUFFERS) {
4539 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4543 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4546 return NDR_ERR_SUCCESS;
4549 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4552 level = ndr_print_get_switch_value(ndr, r);
4553 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4556 ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4560 ndr_print_bad_level(ndr, name, level);
4564 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4567 return NDR_ERR_SUCCESS;
4570 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4573 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4575 return NDR_ERR_SUCCESS;
4578 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4580 ndr_print_uint32(ndr, name, r);
4582 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4583 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4587 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4589 if (ndr_flags & NDR_SCALARS) {
4590 NDR_CHECK(ndr_push_align(ndr, 5));
4591 if (r->naming_context == NULL) {
4592 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4594 NDR_CHECK(ndr_push_ref_ptr(ndr));
4595 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4596 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4597 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags));
4599 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4600 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->options));
4601 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4603 if (ndr_flags & NDR_BUFFERS) {
4604 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4605 if (r->source_dra_address) {
4606 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4607 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4608 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4609 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));
4612 return NDR_ERR_SUCCESS;
4615 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4617 uint32_t _ptr_naming_context;
4618 TALLOC_CTX *_mem_save_naming_context_0;
4619 uint32_t _ptr_source_dra_address;
4620 TALLOC_CTX *_mem_save_source_dra_address_0;
4621 if (ndr_flags & NDR_SCALARS) {
4622 NDR_CHECK(ndr_pull_align(ndr, 5));
4623 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4624 if (_ptr_naming_context) {
4625 NDR_PULL_ALLOC(ndr, r->naming_context);
4627 r->naming_context = NULL;
4629 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4630 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4631 if (_ptr_source_dra_address) {
4632 NDR_PULL_ALLOC(ndr, r->source_dra_address);
4634 r->source_dra_address = NULL;
4636 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4637 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags));
4638 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4639 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->options));
4640 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4642 if (ndr_flags & NDR_BUFFERS) {
4643 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4644 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4645 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4646 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4647 if (r->source_dra_address) {
4648 _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4649 NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4650 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4651 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4652 if (ndr_get_array_length(ndr, &r->source_dra_address) > ndr_get_array_size(ndr, &r->source_dra_address)) {
4653 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));
4655 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t)));
4656 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));
4657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4660 return NDR_ERR_SUCCESS;
4663 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4665 ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4667 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4669 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4671 ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4672 ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4674 if (r->source_dra_address) {
4675 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4678 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4679 ndr_print_uint32(ndr, "replica_flags", r->replica_flags);
4680 ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4681 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "options", r->options);
4685 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4687 if (ndr_flags & NDR_SCALARS) {
4688 int level = ndr_push_get_switch_value(ndr, r);
4689 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4690 NDR_CHECK(ndr_push_union_align(ndr, 5));
4693 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4697 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4700 if (ndr_flags & NDR_BUFFERS) {
4701 int level = ndr_push_get_switch_value(ndr, r);
4704 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4708 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4711 return NDR_ERR_SUCCESS;
4714 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4718 level = ndr_pull_get_switch_value(ndr, r);
4719 if (ndr_flags & NDR_SCALARS) {
4720 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4721 if (_level != level) {
4722 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4724 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4727 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4731 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4734 if (ndr_flags & NDR_BUFFERS) {
4737 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4741 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4744 return NDR_ERR_SUCCESS;
4747 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
4750 level = ndr_print_get_switch_value(ndr, r);
4751 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
4754 ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
4758 ndr_print_bad_level(ndr, name, level);
4762 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
4764 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4765 return NDR_ERR_SUCCESS;
4768 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
4771 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4773 return NDR_ERR_SUCCESS;
4776 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
4778 const char *val = NULL;
4781 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4782 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4783 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4784 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4785 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4786 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4787 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4789 ndr_print_enum(ndr, name, "ENUM", val, r);
4792 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
4794 uint32_t cntr_info_array_1;
4795 uint32_t cntr_group_attrs_1;
4796 uint32_t cntr_sids_1;
4797 if (ndr_flags & NDR_SCALARS) {
4798 NDR_CHECK(ndr_push_align(ndr, 5));
4799 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4801 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4802 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4803 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
4804 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4805 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4807 if (ndr_flags & NDR_BUFFERS) {
4808 if (r->info_array) {
4809 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4810 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4811 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4813 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4814 if (r->info_array[cntr_info_array_1]) {
4815 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4819 if (r->group_attrs) {
4820 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4821 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4822 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
4826 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
4827 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4828 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
4830 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4831 if (r->sids[cntr_sids_1]) {
4832 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4837 return NDR_ERR_SUCCESS;
4840 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
4842 uint32_t _ptr_info_array;
4843 uint32_t cntr_info_array_1;
4844 TALLOC_CTX *_mem_save_info_array_0;
4845 TALLOC_CTX *_mem_save_info_array_1;
4846 TALLOC_CTX *_mem_save_info_array_2;
4847 uint32_t _ptr_group_attrs;
4848 uint32_t cntr_group_attrs_1;
4849 TALLOC_CTX *_mem_save_group_attrs_0;
4850 TALLOC_CTX *_mem_save_group_attrs_1;
4852 uint32_t cntr_sids_1;
4853 TALLOC_CTX *_mem_save_sids_0;
4854 TALLOC_CTX *_mem_save_sids_1;
4855 TALLOC_CTX *_mem_save_sids_2;
4856 if (ndr_flags & NDR_SCALARS) {
4857 NDR_CHECK(ndr_pull_align(ndr, 5));
4858 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4859 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
4860 if (r->num_memberships > 10000) {
4861 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4863 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
4864 if (r->num_sids > 10000) {
4865 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4867 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4868 if (_ptr_info_array) {
4869 NDR_PULL_ALLOC(ndr, r->info_array);
4871 r->info_array = NULL;
4873 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
4874 if (_ptr_group_attrs) {
4875 NDR_PULL_ALLOC(ndr, r->group_attrs);
4877 r->group_attrs = NULL;
4879 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4881 NDR_PULL_ALLOC(ndr, r->sids);
4885 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4887 if (ndr_flags & NDR_BUFFERS) {
4888 if (r->info_array) {
4889 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4890 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4891 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4892 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4893 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4894 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4895 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4896 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4897 if (_ptr_info_array) {
4898 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4900 r->info_array[cntr_info_array_1] = NULL;
4903 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4904 if (r->info_array[cntr_info_array_1]) {
4905 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4906 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4907 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4908 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4911 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4912 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4914 if (r->group_attrs) {
4915 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
4916 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4917 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
4918 NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs));
4919 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
4920 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4921 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4922 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
4924 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
4925 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
4928 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4929 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4930 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4931 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
4932 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4933 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4934 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4935 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4937 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
4939 r->sids[cntr_sids_1] = NULL;
4942 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4943 if (r->sids[cntr_sids_1]) {
4944 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
4945 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
4946 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4947 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
4950 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4951 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4953 if (r->info_array) {
4954 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
4956 if (r->group_attrs) {
4957 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
4960 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
4963 return NDR_ERR_SUCCESS;
4966 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
4968 uint32_t cntr_info_array_1;
4969 uint32_t cntr_group_attrs_1;
4970 uint32_t cntr_sids_1;
4971 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
4973 ndr_print_NTSTATUS(ndr, "status", r->status);
4974 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
4975 ndr_print_uint32(ndr, "num_sids", r->num_sids);
4976 ndr_print_ptr(ndr, "info_array", r->info_array);
4978 if (r->info_array) {
4979 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
4981 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
4983 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4984 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4986 if (r->info_array[cntr_info_array_1]) {
4987 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4996 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
4998 if (r->group_attrs) {
4999 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
5001 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
5003 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
5004 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
5011 ndr_print_ptr(ndr, "sids", r->sids);
5014 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
5016 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
5018 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
5019 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
5021 if (r->sids[cntr_sids_1]) {
5022 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
5034 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
5036 if (ndr_flags & NDR_SCALARS) {
5037 int level = ndr_push_get_switch_value(ndr, r);
5038 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5039 NDR_CHECK(ndr_push_union_align(ndr, 5));
5042 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5046 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5049 if (ndr_flags & NDR_BUFFERS) {
5050 int level = ndr_push_get_switch_value(ndr, r);
5053 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5057 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5060 return NDR_ERR_SUCCESS;
5063 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
5067 level = ndr_pull_get_switch_value(ndr, r);
5068 if (ndr_flags & NDR_SCALARS) {
5069 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5070 if (_level != level) {
5071 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5073 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5076 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5080 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5083 if (ndr_flags & NDR_BUFFERS) {
5086 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5090 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5093 return NDR_ERR_SUCCESS;
5096 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
5099 level = ndr_print_get_switch_value(ndr, r);
5100 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
5103 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
5107 ndr_print_bad_level(ndr, name, level);
5111 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
5113 uint32_t cntr_info_array_1;
5114 if (ndr_flags & NDR_SCALARS) {
5115 NDR_CHECK(ndr_push_align(ndr, 5));
5116 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5117 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
5118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5119 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
5120 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5121 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5123 if (ndr_flags & NDR_BUFFERS) {
5124 if (r->info_array) {
5125 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5126 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5127 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
5129 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5130 if (r->info_array[cntr_info_array_1]) {
5131 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5136 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5139 return NDR_ERR_SUCCESS;
5142 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
5144 uint32_t _ptr_info_array;
5145 uint32_t cntr_info_array_1;
5146 TALLOC_CTX *_mem_save_info_array_0;
5147 TALLOC_CTX *_mem_save_info_array_1;
5148 TALLOC_CTX *_mem_save_info_array_2;
5149 uint32_t _ptr_domain;
5150 TALLOC_CTX *_mem_save_domain_0;
5151 if (ndr_flags & NDR_SCALARS) {
5152 NDR_CHECK(ndr_pull_align(ndr, 5));
5153 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5154 if (r->count < 1 || r->count > 10000) {
5155 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5157 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5158 if (_ptr_info_array) {
5159 NDR_PULL_ALLOC(ndr, r->info_array);
5161 r->info_array = NULL;
5163 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5164 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
5165 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5167 NDR_PULL_ALLOC(ndr, r->domain);
5171 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5173 if (ndr_flags & NDR_BUFFERS) {
5174 if (r->info_array) {
5175 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5176 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5177 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5178 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
5179 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5180 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5181 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5182 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5183 if (_ptr_info_array) {
5184 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5186 r->info_array[cntr_info_array_1] = NULL;
5189 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5190 if (r->info_array[cntr_info_array_1]) {
5191 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5192 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5193 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5194 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5197 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5198 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5201 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5202 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5203 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5204 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5206 if (r->info_array) {
5207 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
5210 return NDR_ERR_SUCCESS;
5213 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
5215 uint32_t cntr_info_array_1;
5216 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
5218 ndr_print_uint32(ndr, "count", r->count);
5219 ndr_print_ptr(ndr, "info_array", r->info_array);
5221 if (r->info_array) {
5222 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
5224 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
5226 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
5227 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5229 if (r->info_array[cntr_info_array_1]) {
5230 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5239 ndr_print_uint32(ndr, "flags", r->flags);
5240 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
5241 ndr_print_ptr(ndr, "domain", r->domain);
5244 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
5250 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
5252 if (ndr_flags & NDR_SCALARS) {
5253 int level = ndr_push_get_switch_value(ndr, r);
5254 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5255 NDR_CHECK(ndr_push_union_align(ndr, 5));
5258 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5262 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5265 if (ndr_flags & NDR_BUFFERS) {
5266 int level = ndr_push_get_switch_value(ndr, r);
5269 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5273 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5276 return NDR_ERR_SUCCESS;
5279 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
5283 level = ndr_pull_get_switch_value(ndr, r);
5284 if (ndr_flags & NDR_SCALARS) {
5285 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5286 if (_level != level) {
5287 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5289 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5292 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5296 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5299 if (ndr_flags & NDR_BUFFERS) {
5302 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5306 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5309 return NDR_ERR_SUCCESS;
5312 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
5315 level = ndr_print_get_switch_value(ndr, r);
5316 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
5319 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
5323 ndr_print_bad_level(ndr, name, level);
5327 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5329 if (ndr_flags & NDR_SCALARS) {
5330 NDR_CHECK(ndr_push_align(ndr, 5));
5331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5332 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5334 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5335 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5337 if (ndr_flags & NDR_BUFFERS) {
5339 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
5340 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5343 return NDR_ERR_SUCCESS;
5346 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5349 TALLOC_CTX *_mem_save_data_0;
5350 if (ndr_flags & NDR_SCALARS) {
5351 NDR_CHECK(ndr_pull_align(ndr, 5));
5352 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5353 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5354 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5355 if (r->length > 0x00A00000) {
5356 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5358 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5360 NDR_PULL_ALLOC(ndr, r->data);
5364 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5366 if (ndr_flags & NDR_BUFFERS) {
5368 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5369 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5370 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5371 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
5372 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
5373 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5376 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5379 return NDR_ERR_SUCCESS;
5382 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5384 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5386 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5387 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5388 ndr_print_uint32(ndr, "length", r->length);
5389 ndr_print_ptr(ndr, "data", r->data);
5392 ndr_print_array_uint8(ndr, "data", r->data, r->length);
5398 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5400 if (ndr_flags & NDR_SCALARS) {
5401 int level = ndr_push_get_switch_value(ndr, r);
5402 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5403 NDR_CHECK(ndr_push_union_align(ndr, 5));
5406 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5410 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5413 if (ndr_flags & NDR_BUFFERS) {
5414 int level = ndr_push_get_switch_value(ndr, r);
5417 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5421 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5424 return NDR_ERR_SUCCESS;
5427 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5431 level = ndr_pull_get_switch_value(ndr, r);
5432 if (ndr_flags & NDR_SCALARS) {
5433 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5434 if (_level != level) {
5435 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5437 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5440 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5444 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5447 if (ndr_flags & NDR_BUFFERS) {
5450 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5454 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5457 return NDR_ERR_SUCCESS;
5460 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5463 level = ndr_print_get_switch_value(ndr, r);
5464 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5467 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5471 ndr_print_bad_level(ndr, name, level);
5475 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5477 if (ndr_flags & NDR_SCALARS) {
5478 NDR_CHECK(ndr_push_align(ndr, 8));
5479 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
5480 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
5481 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
5482 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time2));
5483 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3));
5484 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time4));
5485 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5));
5486 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time6));
5487 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5488 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data1));
5489 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data2));
5490 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5492 if (ndr_flags & NDR_BUFFERS) {
5494 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length1));
5495 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data1, r->length1));
5498 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length2));
5499 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data2, r->length2));
5502 return NDR_ERR_SUCCESS;
5505 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5507 uint32_t _ptr_data1;
5508 TALLOC_CTX *_mem_save_data1_0;
5509 uint32_t _ptr_data2;
5510 TALLOC_CTX *_mem_save_data2_0;
5511 if (ndr_flags & NDR_SCALARS) {
5512 NDR_CHECK(ndr_pull_align(ndr, 8));
5513 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length1));
5514 if (r->length1 > 0x00A00000) {
5515 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5517 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length2));
5518 if (r->length2 > 0x00A00000) {
5519 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5521 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
5522 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time2));
5523 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3));
5524 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time4));
5525 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5));
5526 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time6));
5527 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5528 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data1));
5530 NDR_PULL_ALLOC(ndr, r->data1);
5534 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data2));
5536 NDR_PULL_ALLOC(ndr, r->data2);
5540 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5542 if (ndr_flags & NDR_BUFFERS) {
5544 _mem_save_data1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5545 NDR_PULL_SET_MEM_CTX(ndr, r->data1, 0);
5546 NDR_CHECK(ndr_pull_array_size(ndr, &r->data1));
5547 NDR_PULL_ALLOC_N(ndr, r->data1, ndr_get_array_size(ndr, &r->data1));
5548 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data1, ndr_get_array_size(ndr, &r->data1)));
5549 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data1_0, 0);
5552 _mem_save_data2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5553 NDR_PULL_SET_MEM_CTX(ndr, r->data2, 0);
5554 NDR_CHECK(ndr_pull_array_size(ndr, &r->data2));
5555 NDR_PULL_ALLOC_N(ndr, r->data2, ndr_get_array_size(ndr, &r->data2));
5556 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data2, ndr_get_array_size(ndr, &r->data2)));
5557 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data2_0, 0);
5560 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data1, r->length1));
5563 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data2, r->length2));
5566 return NDR_ERR_SUCCESS;
5569 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5571 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5573 ndr_print_uint32(ndr, "length1", r->length1);
5574 ndr_print_uint32(ndr, "length2", r->length2);
5575 ndr_print_hyper(ndr, "unknown1", r->unknown1);
5576 ndr_print_NTTIME(ndr, "time2", r->time2);
5577 ndr_print_hyper(ndr, "unknown3", r->unknown3);
5578 ndr_print_NTTIME(ndr, "time4", r->time4);
5579 ndr_print_hyper(ndr, "unknown5", r->unknown5);
5580 ndr_print_NTTIME(ndr, "time6", r->time6);
5581 ndr_print_NTSTATUS(ndr, "status", r->status);
5582 ndr_print_ptr(ndr, "data1", r->data1);
5585 ndr_print_array_uint8(ndr, "data1", r->data1, r->length1);
5588 ndr_print_ptr(ndr, "data2", r->data2);
5591 ndr_print_array_uint8(ndr, "data2", r->data2, r->length2);
5597 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5599 if (ndr_flags & NDR_SCALARS) {
5600 int level = ndr_push_get_switch_value(ndr, r);
5601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5602 NDR_CHECK(ndr_push_union_align(ndr, 8));
5605 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5609 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5612 if (ndr_flags & NDR_BUFFERS) {
5613 int level = ndr_push_get_switch_value(ndr, r);
5616 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5620 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5623 return NDR_ERR_SUCCESS;
5626 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5630 level = ndr_pull_get_switch_value(ndr, r);
5631 if (ndr_flags & NDR_SCALARS) {
5632 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5633 if (_level != level) {
5634 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5636 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5639 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5643 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5646 if (ndr_flags & NDR_BUFFERS) {
5649 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5653 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5656 return NDR_ERR_SUCCESS;
5659 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5662 level = ndr_print_get_switch_value(ndr, r);
5663 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5666 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5670 ndr_print_bad_level(ndr, name, level);
5674 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5676 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5677 return NDR_ERR_SUCCESS;
5680 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5683 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5685 return NDR_ERR_SUCCESS;
5688 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5690 const char *val = NULL;
5693 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5694 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5695 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5696 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5697 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5698 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5699 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5700 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5702 ndr_print_enum(ndr, name, "ENUM", val, r);
5705 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5707 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5708 return NDR_ERR_SUCCESS;
5711 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5714 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5716 return NDR_ERR_SUCCESS;
5719 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5721 const char *val = NULL;
5724 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5725 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5726 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5727 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5728 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5730 ndr_print_enum(ndr, name, "ENUM", val, r);
5733 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5735 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5736 return NDR_ERR_SUCCESS;
5739 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5742 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5744 return NDR_ERR_SUCCESS;
5747 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5749 const char *val = NULL;
5752 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5753 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5754 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5755 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5756 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5757 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5758 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5759 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5760 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5761 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5762 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5764 ndr_print_enum(ndr, name, "ENUM", val, r);
5767 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5769 if (ndr_flags & NDR_SCALARS) {
5770 NDR_CHECK(ndr_push_align(ndr, 5));
5771 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5772 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5774 if (ndr_flags & NDR_BUFFERS) {
5776 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5777 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5778 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5779 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5782 return NDR_ERR_SUCCESS;
5785 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5788 TALLOC_CTX *_mem_save_str_0;
5789 if (ndr_flags & NDR_SCALARS) {
5790 NDR_CHECK(ndr_pull_align(ndr, 5));
5791 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5793 NDR_PULL_ALLOC(ndr, r->str);
5797 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5799 if (ndr_flags & NDR_BUFFERS) {
5801 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5802 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5803 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5804 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5805 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
5806 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));
5808 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
5809 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
5810 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5813 return NDR_ERR_SUCCESS;
5816 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5818 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5820 ndr_print_ptr(ndr, "str", r->str);
5823 ndr_print_string(ndr, "str", r->str);
5829 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5831 uint32_t cntr_names_1;
5832 if (ndr_flags & NDR_SCALARS) {
5833 NDR_CHECK(ndr_push_align(ndr, 5));
5834 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5835 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5836 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5837 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5838 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5839 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5840 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5841 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5843 if (ndr_flags & NDR_BUFFERS) {
5845 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5846 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5847 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5849 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5850 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5854 return NDR_ERR_SUCCESS;
5857 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5859 uint32_t _ptr_names;
5860 uint32_t cntr_names_1;
5861 TALLOC_CTX *_mem_save_names_0;
5862 TALLOC_CTX *_mem_save_names_1;
5863 if (ndr_flags & NDR_SCALARS) {
5864 NDR_CHECK(ndr_pull_align(ndr, 5));
5865 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5866 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5867 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5868 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5869 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5870 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5871 if (r->count < 1 || r->count > 10000) {
5872 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5874 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5876 NDR_PULL_ALLOC(ndr, r->names);
5880 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5882 if (ndr_flags & NDR_BUFFERS) {
5884 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5885 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5886 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
5887 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
5888 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5889 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5890 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5891 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5893 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5894 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5896 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
5897 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
5900 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
5903 return NDR_ERR_SUCCESS;
5906 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
5908 uint32_t cntr_names_1;
5909 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
5911 ndr_print_uint32(ndr, "codepage", r->codepage);
5912 ndr_print_uint32(ndr, "language", r->language);
5913 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
5914 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
5915 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
5916 ndr_print_uint32(ndr, "count", r->count);
5917 ndr_print_ptr(ndr, "names", r->names);
5920 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
5922 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
5924 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
5925 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
5935 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
5937 if (ndr_flags & NDR_SCALARS) {
5938 int level = ndr_push_get_switch_value(ndr, r);
5939 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5940 NDR_CHECK(ndr_push_union_align(ndr, 5));
5943 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5947 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5950 if (ndr_flags & NDR_BUFFERS) {
5951 int level = ndr_push_get_switch_value(ndr, r);
5954 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5958 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5961 return NDR_ERR_SUCCESS;
5964 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
5968 level = ndr_pull_get_switch_value(ndr, r);
5969 if (ndr_flags & NDR_SCALARS) {
5970 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5971 if (_level != level) {
5972 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5974 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5977 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5981 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5984 if (ndr_flags & NDR_BUFFERS) {
5987 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5991 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5994 return NDR_ERR_SUCCESS;
5997 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
6000 level = ndr_print_get_switch_value(ndr, r);
6001 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
6004 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
6008 ndr_print_bad_level(ndr, name, level);
6012 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
6014 if (ndr_flags & NDR_SCALARS) {
6015 NDR_CHECK(ndr_push_align(ndr, 5));
6016 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
6017 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
6018 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
6019 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6021 if (ndr_flags & NDR_BUFFERS) {
6022 if (r->dns_domain_name) {
6023 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
6024 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6025 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
6026 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));
6028 if (r->result_name) {
6029 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
6030 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6031 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
6032 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6035 return NDR_ERR_SUCCESS;
6038 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
6040 uint32_t _ptr_dns_domain_name;
6041 TALLOC_CTX *_mem_save_dns_domain_name_0;
6042 uint32_t _ptr_result_name;
6043 TALLOC_CTX *_mem_save_result_name_0;
6044 if (ndr_flags & NDR_SCALARS) {
6045 NDR_CHECK(ndr_pull_align(ndr, 5));
6046 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
6047 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
6048 if (_ptr_dns_domain_name) {
6049 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
6051 r->dns_domain_name = NULL;
6053 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
6054 if (_ptr_result_name) {
6055 NDR_PULL_ALLOC(ndr, r->result_name);
6057 r->result_name = NULL;
6059 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6061 if (ndr_flags & NDR_BUFFERS) {
6062 if (r->dns_domain_name) {
6063 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6064 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
6065 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
6066 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
6067 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
6068 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));
6070 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
6071 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));
6072 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
6074 if (r->result_name) {
6075 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6076 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
6077 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
6078 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
6079 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
6080 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));
6082 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
6083 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
6084 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
6087 return NDR_ERR_SUCCESS;
6090 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
6092 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
6094 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
6095 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
6097 if (r->dns_domain_name) {
6098 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
6101 ndr_print_ptr(ndr, "result_name", r->result_name);
6103 if (r->result_name) {
6104 ndr_print_string(ndr, "result_name", r->result_name);
6110 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
6112 uint32_t cntr_array_1;
6113 if (ndr_flags & NDR_SCALARS) {
6114 NDR_CHECK(ndr_push_align(ndr, 5));
6115 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6116 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6117 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6119 if (ndr_flags & NDR_BUFFERS) {
6121 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6122 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6123 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6125 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6126 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6130 return NDR_ERR_SUCCESS;
6133 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
6135 uint32_t _ptr_array;
6136 uint32_t cntr_array_1;
6137 TALLOC_CTX *_mem_save_array_0;
6138 TALLOC_CTX *_mem_save_array_1;
6139 if (ndr_flags & NDR_SCALARS) {
6140 NDR_CHECK(ndr_pull_align(ndr, 5));
6141 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6142 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6144 NDR_PULL_ALLOC(ndr, r->array);
6148 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6150 if (ndr_flags & NDR_BUFFERS) {
6152 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6153 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6154 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6155 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6156 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6157 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6158 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6159 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6161 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6162 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6164 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6165 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6168 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6171 return NDR_ERR_SUCCESS;
6174 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6176 uint32_t cntr_array_1;
6177 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6179 ndr_print_uint32(ndr, "count", r->count);
6180 ndr_print_ptr(ndr, "array", r->array);
6183 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6185 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6187 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6188 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6198 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6200 if (ndr_flags & NDR_SCALARS) {
6201 int level = ndr_push_get_switch_value(ndr, r);
6202 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6203 NDR_CHECK(ndr_push_union_align(ndr, 5));
6206 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6210 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6213 if (ndr_flags & NDR_BUFFERS) {
6214 int level = ndr_push_get_switch_value(ndr, r);
6218 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6223 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6226 return NDR_ERR_SUCCESS;
6229 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6233 TALLOC_CTX *_mem_save_ctr1_0;
6234 level = ndr_pull_get_switch_value(ndr, r);
6235 if (ndr_flags & NDR_SCALARS) {
6236 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6237 if (_level != level) {
6238 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6240 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6244 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6246 NDR_PULL_ALLOC(ndr, r->ctr1);
6253 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6256 if (ndr_flags & NDR_BUFFERS) {
6260 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6261 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6262 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6263 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6268 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6271 return NDR_ERR_SUCCESS;
6274 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6277 level = ndr_print_get_switch_value(ndr, r);
6278 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6281 ndr_print_ptr(ndr, "ctr1", r->ctr1);
6284 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6290 ndr_print_bad_level(ndr, name, level);
6294 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6296 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6297 return NDR_ERR_SUCCESS;
6300 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6303 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6305 return NDR_ERR_SUCCESS;
6308 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6310 const char *val = NULL;
6313 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6314 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6315 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6317 ndr_print_enum(ndr, name, "ENUM", val, r);
6320 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6322 uint32_t cntr_spn_names_1;
6323 if (ndr_flags & NDR_SCALARS) {
6324 NDR_CHECK(ndr_push_align(ndr, 5));
6325 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6326 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6327 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6328 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6329 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6330 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6332 if (ndr_flags & NDR_BUFFERS) {
6334 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6335 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6336 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6337 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6340 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
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_SCALARS, &r->spn_names[cntr_spn_names_1]));
6344 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6345 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6349 return NDR_ERR_SUCCESS;
6352 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6354 uint32_t _ptr_object_dn;
6355 TALLOC_CTX *_mem_save_object_dn_0;
6356 uint32_t _ptr_spn_names;
6357 uint32_t cntr_spn_names_1;
6358 TALLOC_CTX *_mem_save_spn_names_0;
6359 TALLOC_CTX *_mem_save_spn_names_1;
6360 if (ndr_flags & NDR_SCALARS) {
6361 NDR_CHECK(ndr_pull_align(ndr, 5));
6362 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6363 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6364 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6365 if (_ptr_object_dn) {
6366 NDR_PULL_ALLOC(ndr, r->object_dn);
6368 r->object_dn = NULL;
6370 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6371 if (r->count > 10000) {
6372 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6374 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6375 if (_ptr_spn_names) {
6376 NDR_PULL_ALLOC(ndr, r->spn_names);
6378 r->spn_names = NULL;
6380 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6382 if (ndr_flags & NDR_BUFFERS) {
6384 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6385 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6386 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6387 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6388 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
6389 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));
6391 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
6392 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
6393 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6396 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6397 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6398 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6399 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
6400 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6401 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
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_SCALARS, &r->spn_names[cntr_spn_names_1]));
6405 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6406 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6408 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6409 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6412 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6415 return NDR_ERR_SUCCESS;
6418 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6420 uint32_t cntr_spn_names_1;
6421 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6423 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6424 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6425 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6428 ndr_print_string(ndr, "object_dn", r->object_dn);
6431 ndr_print_uint32(ndr, "count", r->count);
6432 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6435 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6437 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6439 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
6440 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6450 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6452 if (ndr_flags & NDR_SCALARS) {
6453 int level = ndr_push_get_switch_value(ndr, r);
6454 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6455 NDR_CHECK(ndr_push_union_align(ndr, 5));
6458 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6462 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6465 if (ndr_flags & NDR_BUFFERS) {
6466 int level = ndr_push_get_switch_value(ndr, r);
6469 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6473 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6476 return NDR_ERR_SUCCESS;
6479 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6483 level = ndr_pull_get_switch_value(ndr, r);
6484 if (ndr_flags & NDR_SCALARS) {
6485 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6486 if (_level != level) {
6487 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6489 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6492 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6496 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6499 if (ndr_flags & NDR_BUFFERS) {
6502 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6506 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6509 return NDR_ERR_SUCCESS;
6512 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6515 level = ndr_print_get_switch_value(ndr, r);
6516 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6519 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6523 ndr_print_bad_level(ndr, name, level);
6527 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6529 if (ndr_flags & NDR_SCALARS) {
6530 NDR_CHECK(ndr_push_align(ndr, 4));
6531 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6532 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6534 if (ndr_flags & NDR_BUFFERS) {
6536 return NDR_ERR_SUCCESS;
6539 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6541 if (ndr_flags & NDR_SCALARS) {
6542 NDR_CHECK(ndr_pull_align(ndr, 4));
6543 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6544 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6546 if (ndr_flags & NDR_BUFFERS) {
6548 return NDR_ERR_SUCCESS;
6551 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6553 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6555 ndr_print_WERROR(ndr, "status", r->status);
6559 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6561 if (ndr_flags & NDR_SCALARS) {
6562 int level = ndr_push_get_switch_value(ndr, r);
6563 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6564 NDR_CHECK(ndr_push_union_align(ndr, 4));
6567 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6571 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6574 if (ndr_flags & NDR_BUFFERS) {
6575 int level = ndr_push_get_switch_value(ndr, r);
6581 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6584 return NDR_ERR_SUCCESS;
6587 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6591 level = ndr_pull_get_switch_value(ndr, r);
6592 if (ndr_flags & NDR_SCALARS) {
6593 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6594 if (_level != level) {
6595 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6597 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6600 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6604 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6607 if (ndr_flags & NDR_BUFFERS) {
6613 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6616 return NDR_ERR_SUCCESS;
6619 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6622 level = ndr_print_get_switch_value(ndr, r);
6623 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6626 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6630 ndr_print_bad_level(ndr, name, level);
6634 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6636 if (ndr_flags & NDR_SCALARS) {
6637 NDR_CHECK(ndr_push_align(ndr, 5));
6638 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6639 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6640 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6641 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6643 if (ndr_flags & NDR_BUFFERS) {
6645 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6646 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6647 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6648 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6651 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6652 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6653 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6654 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6657 return NDR_ERR_SUCCESS;
6660 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6662 uint32_t _ptr_server_dn;
6663 TALLOC_CTX *_mem_save_server_dn_0;
6664 uint32_t _ptr_domain_dn;
6665 TALLOC_CTX *_mem_save_domain_dn_0;
6666 if (ndr_flags & NDR_SCALARS) {
6667 NDR_CHECK(ndr_pull_align(ndr, 5));
6668 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6669 if (_ptr_server_dn) {
6670 NDR_PULL_ALLOC(ndr, r->server_dn);
6672 r->server_dn = NULL;
6674 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6675 if (_ptr_domain_dn) {
6676 NDR_PULL_ALLOC(ndr, r->domain_dn);
6678 r->domain_dn = NULL;
6680 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6681 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6683 if (ndr_flags & NDR_BUFFERS) {
6685 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6686 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6687 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6688 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6689 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6690 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));
6692 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6693 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6694 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6697 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6698 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6699 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6700 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6701 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
6702 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));
6704 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
6705 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
6706 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6709 return NDR_ERR_SUCCESS;
6712 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6714 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6716 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6719 ndr_print_string(ndr, "server_dn", r->server_dn);
6722 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6725 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6728 ndr_print_uint32(ndr, "commit", r->commit);
6732 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6734 if (ndr_flags & NDR_SCALARS) {
6735 int level = ndr_push_get_switch_value(ndr, r);
6736 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6737 NDR_CHECK(ndr_push_union_align(ndr, 5));
6740 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6744 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6747 if (ndr_flags & NDR_BUFFERS) {
6748 int level = ndr_push_get_switch_value(ndr, r);
6751 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6755 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6758 return NDR_ERR_SUCCESS;
6761 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6765 level = ndr_pull_get_switch_value(ndr, r);
6766 if (ndr_flags & NDR_SCALARS) {
6767 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6768 if (_level != level) {
6769 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6771 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6774 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6778 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6781 if (ndr_flags & NDR_BUFFERS) {
6784 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6788 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6791 return NDR_ERR_SUCCESS;
6794 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6797 level = ndr_print_get_switch_value(ndr, r);
6798 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6801 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6805 ndr_print_bad_level(ndr, name, level);
6809 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6811 if (ndr_flags & NDR_SCALARS) {
6812 NDR_CHECK(ndr_push_align(ndr, 4));
6813 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6814 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6816 if (ndr_flags & NDR_BUFFERS) {
6818 return NDR_ERR_SUCCESS;
6821 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6823 if (ndr_flags & NDR_SCALARS) {
6824 NDR_CHECK(ndr_pull_align(ndr, 4));
6825 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6826 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6828 if (ndr_flags & NDR_BUFFERS) {
6830 return NDR_ERR_SUCCESS;
6833 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6835 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
6837 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
6841 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
6843 if (ndr_flags & NDR_SCALARS) {
6844 int level = ndr_push_get_switch_value(ndr, r);
6845 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6846 NDR_CHECK(ndr_push_union_align(ndr, 4));
6849 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6853 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6856 if (ndr_flags & NDR_BUFFERS) {
6857 int level = ndr_push_get_switch_value(ndr, r);
6863 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6866 return NDR_ERR_SUCCESS;
6869 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
6873 level = ndr_pull_get_switch_value(ndr, r);
6874 if (ndr_flags & NDR_SCALARS) {
6875 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6876 if (_level != level) {
6877 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6879 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6882 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6886 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6889 if (ndr_flags & NDR_BUFFERS) {
6895 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6898 return NDR_ERR_SUCCESS;
6901 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
6904 level = ndr_print_get_switch_value(ndr, r);
6905 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
6908 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
6912 ndr_print_bad_level(ndr, name, level);
6916 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
6918 if (ndr_flags & NDR_SCALARS) {
6919 NDR_CHECK(ndr_push_align(ndr, 5));
6920 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6921 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
6922 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6924 if (ndr_flags & NDR_BUFFERS) {
6925 if (r->domain_name) {
6926 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6927 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6928 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6929 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6932 return NDR_ERR_SUCCESS;
6935 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
6937 uint32_t _ptr_domain_name;
6938 TALLOC_CTX *_mem_save_domain_name_0;
6939 if (ndr_flags & NDR_SCALARS) {
6940 NDR_CHECK(ndr_pull_align(ndr, 5));
6941 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6942 if (_ptr_domain_name) {
6943 NDR_PULL_ALLOC(ndr, r->domain_name);
6945 r->domain_name = NULL;
6947 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
6948 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6950 if (ndr_flags & NDR_BUFFERS) {
6951 if (r->domain_name) {
6952 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6953 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6954 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6955 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6956 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6957 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));
6959 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6960 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6961 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6964 return NDR_ERR_SUCCESS;
6967 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
6969 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
6971 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6973 if (r->domain_name) {
6974 ndr_print_string(ndr, "domain_name", r->domain_name);
6977 ndr_print_int32(ndr, "level", r->level);
6981 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
6983 if (ndr_flags & NDR_SCALARS) {
6984 int level = ndr_push_get_switch_value(ndr, r);
6985 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6986 NDR_CHECK(ndr_push_union_align(ndr, 5));
6989 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6993 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6996 if (ndr_flags & NDR_BUFFERS) {
6997 int level = ndr_push_get_switch_value(ndr, r);
7000 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
7004 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7007 return NDR_ERR_SUCCESS;
7010 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
7014 level = ndr_pull_get_switch_value(ndr, r);
7015 if (ndr_flags & NDR_SCALARS) {
7016 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
7017 if (_level != level) {
7018 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7020 NDR_CHECK(ndr_pull_union_align(ndr, 5));
7023 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
7027 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7030 if (ndr_flags & NDR_BUFFERS) {
7033 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
7037 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7040 return NDR_ERR_SUCCESS;
7043 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
7046 level = ndr_print_get_switch_value(ndr, r);
7047 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
7050 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
7054 ndr_print_bad_level(ndr, name, level);
7058 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
7060 if (ndr_flags & NDR_SCALARS) {
7061 NDR_CHECK(ndr_push_align(ndr, 5));
7062 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7063 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7064 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7065 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7066 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7067 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7068 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7069 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7071 if (ndr_flags & NDR_BUFFERS) {
7072 if (r->netbios_name) {
7073 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7074 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7075 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7076 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7079 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7080 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7081 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7082 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7085 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7086 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7087 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7088 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7090 if (r->computer_dn) {
7091 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7092 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7093 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7094 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7097 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7098 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7099 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7100 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7103 return NDR_ERR_SUCCESS;
7106 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
7108 uint32_t _ptr_netbios_name;
7109 TALLOC_CTX *_mem_save_netbios_name_0;
7110 uint32_t _ptr_dns_name;
7111 TALLOC_CTX *_mem_save_dns_name_0;
7112 uint32_t _ptr_site_name;
7113 TALLOC_CTX *_mem_save_site_name_0;
7114 uint32_t _ptr_computer_dn;
7115 TALLOC_CTX *_mem_save_computer_dn_0;
7116 uint32_t _ptr_server_dn;
7117 TALLOC_CTX *_mem_save_server_dn_0;
7118 if (ndr_flags & NDR_SCALARS) {
7119 NDR_CHECK(ndr_pull_align(ndr, 5));
7120 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7121 if (_ptr_netbios_name) {
7122 NDR_PULL_ALLOC(ndr, r->netbios_name);
7124 r->netbios_name = NULL;
7126 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7127 if (_ptr_dns_name) {
7128 NDR_PULL_ALLOC(ndr, r->dns_name);
7132 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7133 if (_ptr_site_name) {
7134 NDR_PULL_ALLOC(ndr, r->site_name);
7136 r->site_name = NULL;
7138 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7139 if (_ptr_computer_dn) {
7140 NDR_PULL_ALLOC(ndr, r->computer_dn);
7142 r->computer_dn = NULL;
7144 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7145 if (_ptr_server_dn) {
7146 NDR_PULL_ALLOC(ndr, r->server_dn);
7148 r->server_dn = NULL;
7150 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7151 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7152 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7154 if (ndr_flags & NDR_BUFFERS) {
7155 if (r->netbios_name) {
7156 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7157 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7158 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7159 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7160 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7161 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));
7163 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7164 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7165 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7168 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7169 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7170 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7171 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7172 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7173 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));
7175 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7176 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7177 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7180 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7181 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7182 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7183 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7184 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7185 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));
7187 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7188 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7189 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7191 if (r->computer_dn) {
7192 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7193 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7194 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7195 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7196 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7197 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));
7199 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7200 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7201 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7204 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7205 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7206 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7207 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7208 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7209 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));
7211 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7212 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7213 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7216 return NDR_ERR_SUCCESS;
7219 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7221 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7223 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7225 if (r->netbios_name) {
7226 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7229 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7232 ndr_print_string(ndr, "dns_name", r->dns_name);
7235 ndr_print_ptr(ndr, "site_name", r->site_name);
7238 ndr_print_string(ndr, "site_name", r->site_name);
7241 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7243 if (r->computer_dn) {
7244 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7247 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7250 ndr_print_string(ndr, "server_dn", r->server_dn);
7253 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7254 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7258 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7260 uint32_t cntr_array_1;
7261 if (ndr_flags & NDR_SCALARS) {
7262 NDR_CHECK(ndr_push_align(ndr, 5));
7263 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7264 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7265 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7267 if (ndr_flags & NDR_BUFFERS) {
7269 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7270 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7271 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7273 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7274 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7278 return NDR_ERR_SUCCESS;
7281 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7283 uint32_t _ptr_array;
7284 uint32_t cntr_array_1;
7285 TALLOC_CTX *_mem_save_array_0;
7286 TALLOC_CTX *_mem_save_array_1;
7287 if (ndr_flags & NDR_SCALARS) {
7288 NDR_CHECK(ndr_pull_align(ndr, 5));
7289 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7290 if (r->count > 10000) {
7291 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7293 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7295 NDR_PULL_ALLOC(ndr, r->array);
7299 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7301 if (ndr_flags & NDR_BUFFERS) {
7303 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7304 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7305 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7306 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7307 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7308 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7309 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7310 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7312 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7313 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7319 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7322 return NDR_ERR_SUCCESS;
7325 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7327 uint32_t cntr_array_1;
7328 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7330 ndr_print_uint32(ndr, "count", r->count);
7331 ndr_print_ptr(ndr, "array", r->array);
7334 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7336 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7338 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7339 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7349 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7351 if (ndr_flags & NDR_SCALARS) {
7352 NDR_CHECK(ndr_push_align(ndr, 5));
7353 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7354 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7355 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7356 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7357 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7358 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7359 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7361 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7363 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7364 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7365 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7366 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7367 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7369 if (ndr_flags & NDR_BUFFERS) {
7370 if (r->netbios_name) {
7371 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7372 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7373 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7374 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7377 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7378 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7379 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7380 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7383 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7384 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7385 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7386 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7389 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7390 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7391 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7392 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7394 if (r->computer_dn) {
7395 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7396 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7397 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7398 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7401 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7402 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7403 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7404 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7407 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7408 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7409 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7410 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7413 return NDR_ERR_SUCCESS;
7416 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7418 uint32_t _ptr_netbios_name;
7419 TALLOC_CTX *_mem_save_netbios_name_0;
7420 uint32_t _ptr_dns_name;
7421 TALLOC_CTX *_mem_save_dns_name_0;
7422 uint32_t _ptr_site_name;
7423 TALLOC_CTX *_mem_save_site_name_0;
7424 uint32_t _ptr_site_dn;
7425 TALLOC_CTX *_mem_save_site_dn_0;
7426 uint32_t _ptr_computer_dn;
7427 TALLOC_CTX *_mem_save_computer_dn_0;
7428 uint32_t _ptr_server_dn;
7429 TALLOC_CTX *_mem_save_server_dn_0;
7430 uint32_t _ptr_ntds_dn;
7431 TALLOC_CTX *_mem_save_ntds_dn_0;
7432 if (ndr_flags & NDR_SCALARS) {
7433 NDR_CHECK(ndr_pull_align(ndr, 5));
7434 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7435 if (_ptr_netbios_name) {
7436 NDR_PULL_ALLOC(ndr, r->netbios_name);
7438 r->netbios_name = NULL;
7440 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7441 if (_ptr_dns_name) {
7442 NDR_PULL_ALLOC(ndr, r->dns_name);
7446 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7447 if (_ptr_site_name) {
7448 NDR_PULL_ALLOC(ndr, r->site_name);
7450 r->site_name = NULL;
7452 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7454 NDR_PULL_ALLOC(ndr, r->site_dn);
7458 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7459 if (_ptr_computer_dn) {
7460 NDR_PULL_ALLOC(ndr, r->computer_dn);
7462 r->computer_dn = NULL;
7464 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7465 if (_ptr_server_dn) {
7466 NDR_PULL_ALLOC(ndr, r->server_dn);
7468 r->server_dn = NULL;
7470 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7472 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7476 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7477 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7478 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7479 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7480 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7481 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7482 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7483 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7485 if (ndr_flags & NDR_BUFFERS) {
7486 if (r->netbios_name) {
7487 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7488 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7489 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7490 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7491 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7492 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7494 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7495 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7496 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7499 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7500 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7501 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7502 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7503 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7504 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7506 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7507 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7511 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7512 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7513 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7514 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7515 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7516 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name));
7518 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7519 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7520 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7523 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7524 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7525 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7526 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7527 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7528 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));
7530 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7531 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7532 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7534 if (r->computer_dn) {
7535 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7536 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7537 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7538 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7539 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7540 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));
7542 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7543 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7547 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7548 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7549 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7550 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7551 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7552 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));
7554 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7555 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7556 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7559 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7560 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7561 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7562 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7563 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7564 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));
7566 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7567 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7568 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7571 return NDR_ERR_SUCCESS;
7574 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7576 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7578 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7580 if (r->netbios_name) {
7581 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7584 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7587 ndr_print_string(ndr, "dns_name", r->dns_name);
7590 ndr_print_ptr(ndr, "site_name", r->site_name);
7593 ndr_print_string(ndr, "site_name", r->site_name);
7596 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7599 ndr_print_string(ndr, "site_dn", r->site_dn);
7602 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7604 if (r->computer_dn) {
7605 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7608 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7611 ndr_print_string(ndr, "server_dn", r->server_dn);
7614 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7617 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7620 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7621 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7622 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7623 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7624 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7625 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7626 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7630 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7632 uint32_t cntr_array_1;
7633 if (ndr_flags & NDR_SCALARS) {
7634 NDR_CHECK(ndr_push_align(ndr, 5));
7635 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7636 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7637 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7639 if (ndr_flags & NDR_BUFFERS) {
7641 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7642 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7643 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7645 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7646 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7650 return NDR_ERR_SUCCESS;
7653 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7655 uint32_t _ptr_array;
7656 uint32_t cntr_array_1;
7657 TALLOC_CTX *_mem_save_array_0;
7658 TALLOC_CTX *_mem_save_array_1;
7659 if (ndr_flags & NDR_SCALARS) {
7660 NDR_CHECK(ndr_pull_align(ndr, 5));
7661 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7662 if (r->count > 10000) {
7663 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7665 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7667 NDR_PULL_ALLOC(ndr, r->array);
7671 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7673 if (ndr_flags & NDR_BUFFERS) {
7675 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7676 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7677 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7678 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7679 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7680 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7681 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7682 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7684 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7685 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7687 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7688 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7691 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7694 return NDR_ERR_SUCCESS;
7697 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7699 uint32_t cntr_array_1;
7700 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7702 ndr_print_uint32(ndr, "count", r->count);
7703 ndr_print_ptr(ndr, "array", r->array);
7706 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7708 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7710 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7711 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7721 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7723 if (ndr_flags & NDR_SCALARS) {
7724 NDR_CHECK(ndr_push_align(ndr, 5));
7725 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7726 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7727 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7728 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7729 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7730 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7731 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7733 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7734 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7735 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7736 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7737 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7738 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7739 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7740 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7742 if (ndr_flags & NDR_BUFFERS) {
7743 if (r->netbios_name) {
7744 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7745 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7746 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7747 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7750 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7751 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7752 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7753 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7756 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7757 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7758 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7759 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7762 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7763 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7764 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7765 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7767 if (r->computer_dn) {
7768 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7769 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7770 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7771 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7774 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7775 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7776 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7777 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7780 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7781 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7782 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7783 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7786 return NDR_ERR_SUCCESS;
7789 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
7791 uint32_t _ptr_netbios_name;
7792 TALLOC_CTX *_mem_save_netbios_name_0;
7793 uint32_t _ptr_dns_name;
7794 TALLOC_CTX *_mem_save_dns_name_0;
7795 uint32_t _ptr_site_name;
7796 TALLOC_CTX *_mem_save_site_name_0;
7797 uint32_t _ptr_site_dn;
7798 TALLOC_CTX *_mem_save_site_dn_0;
7799 uint32_t _ptr_computer_dn;
7800 TALLOC_CTX *_mem_save_computer_dn_0;
7801 uint32_t _ptr_server_dn;
7802 TALLOC_CTX *_mem_save_server_dn_0;
7803 uint32_t _ptr_ntds_dn;
7804 TALLOC_CTX *_mem_save_ntds_dn_0;
7805 if (ndr_flags & NDR_SCALARS) {
7806 NDR_CHECK(ndr_pull_align(ndr, 5));
7807 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7808 if (_ptr_netbios_name) {
7809 NDR_PULL_ALLOC(ndr, r->netbios_name);
7811 r->netbios_name = NULL;
7813 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7814 if (_ptr_dns_name) {
7815 NDR_PULL_ALLOC(ndr, r->dns_name);
7819 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7820 if (_ptr_site_name) {
7821 NDR_PULL_ALLOC(ndr, r->site_name);
7823 r->site_name = NULL;
7825 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7827 NDR_PULL_ALLOC(ndr, r->site_dn);
7831 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7832 if (_ptr_computer_dn) {
7833 NDR_PULL_ALLOC(ndr, r->computer_dn);
7835 r->computer_dn = NULL;
7837 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7838 if (_ptr_server_dn) {
7839 NDR_PULL_ALLOC(ndr, r->server_dn);
7841 r->server_dn = NULL;
7843 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7845 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7849 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7850 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7851 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7852 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
7853 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7854 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7855 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7856 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7857 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7859 if (ndr_flags & NDR_BUFFERS) {
7860 if (r->netbios_name) {
7861 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7862 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7863 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7864 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7865 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7866 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));
7868 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7869 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7870 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7873 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7874 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7875 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7876 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7877 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7878 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));
7880 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7881 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7882 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7885 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7886 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7887 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7888 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7889 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7890 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));
7892 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7893 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7894 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7897 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7898 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7899 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7900 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7901 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7902 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));
7904 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7905 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7906 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7908 if (r->computer_dn) {
7909 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7910 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7911 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7912 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7913 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7914 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));
7916 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7917 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7918 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7921 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7922 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7923 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7924 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7925 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7926 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));
7928 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7929 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7930 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7933 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7934 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7935 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7936 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7937 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7938 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));
7940 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7941 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7942 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7945 return NDR_ERR_SUCCESS;
7948 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7950 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7952 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7954 if (r->netbios_name) {
7955 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7958 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7961 ndr_print_string(ndr, "dns_name", r->dns_name);
7964 ndr_print_ptr(ndr, "site_name", r->site_name);
7967 ndr_print_string(ndr, "site_name", r->site_name);
7970 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7973 ndr_print_string(ndr, "site_dn", r->site_dn);
7976 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7978 if (r->computer_dn) {
7979 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7982 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7985 ndr_print_string(ndr, "server_dn", r->server_dn);
7988 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7991 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7994 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7995 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7996 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7997 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
7998 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7999 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
8000 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
8001 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
8005 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
8007 uint32_t cntr_array_1;
8008 if (ndr_flags & NDR_SCALARS) {
8009 NDR_CHECK(ndr_push_align(ndr, 5));
8010 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8011 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8012 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8014 if (ndr_flags & NDR_BUFFERS) {
8016 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8017 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8018 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8020 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8021 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8025 return NDR_ERR_SUCCESS;
8028 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
8030 uint32_t _ptr_array;
8031 uint32_t cntr_array_1;
8032 TALLOC_CTX *_mem_save_array_0;
8033 TALLOC_CTX *_mem_save_array_1;
8034 if (ndr_flags & NDR_SCALARS) {
8035 NDR_CHECK(ndr_pull_align(ndr, 5));
8036 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8037 if (r->count > 10000) {
8038 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8040 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8042 NDR_PULL_ALLOC(ndr, r->array);
8046 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8048 if (ndr_flags & NDR_BUFFERS) {
8050 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8051 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8052 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8053 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8054 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8055 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8056 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8057 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8059 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8060 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8063 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8066 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8069 return NDR_ERR_SUCCESS;
8072 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
8074 uint32_t cntr_array_1;
8075 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
8077 ndr_print_uint32(ndr, "count", r->count);
8078 ndr_print_ptr(ndr, "array", r->array);
8081 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8083 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8085 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8086 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
8096 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
8098 if (ndr_flags & NDR_SCALARS) {
8099 NDR_CHECK(ndr_push_align(ndr, 5));
8101 uint32_t _flags_save_ipv4address = ndr->flags;
8102 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8103 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
8104 ndr->flags = _flags_save_ipv4address;
8106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
8108 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
8109 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
8110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
8111 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
8112 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8114 if (ndr_flags & NDR_BUFFERS) {
8115 if (r->client_account) {
8116 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8117 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8118 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8119 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8122 return NDR_ERR_SUCCESS;
8125 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
8127 uint32_t _ptr_client_account;
8128 TALLOC_CTX *_mem_save_client_account_0;
8129 if (ndr_flags & NDR_SCALARS) {
8130 NDR_CHECK(ndr_pull_align(ndr, 5));
8132 uint32_t _flags_save_ipv4address = ndr->flags;
8133 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8134 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
8135 ndr->flags = _flags_save_ipv4address;
8137 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8138 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
8139 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
8140 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
8141 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
8142 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
8143 if (_ptr_client_account) {
8144 NDR_PULL_ALLOC(ndr, r->client_account);
8146 r->client_account = NULL;
8148 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8150 if (ndr_flags & NDR_BUFFERS) {
8151 if (r->client_account) {
8152 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
8153 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
8154 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
8155 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
8156 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
8157 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));
8159 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
8160 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
8161 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
8164 return NDR_ERR_SUCCESS;
8167 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
8169 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8171 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8172 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8173 ndr_print_uint32(ndr, "connection_time", r->connection_time);
8174 ndr_print_uint32(ndr, "unknown4", r->unknown4);
8175 ndr_print_uint32(ndr, "unknown5", r->unknown5);
8176 ndr_print_uint32(ndr, "unknown6", r->unknown6);
8177 ndr_print_ptr(ndr, "client_account", r->client_account);
8179 if (r->client_account) {
8180 ndr_print_string(ndr, "client_account", r->client_account);
8186 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8188 uint32_t cntr_array_1;
8189 if (ndr_flags & NDR_SCALARS) {
8190 NDR_CHECK(ndr_push_align(ndr, 5));
8191 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8192 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8193 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8195 if (ndr_flags & NDR_BUFFERS) {
8197 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8198 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8199 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8201 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8202 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8206 return NDR_ERR_SUCCESS;
8209 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8211 uint32_t _ptr_array;
8212 uint32_t cntr_array_1;
8213 TALLOC_CTX *_mem_save_array_0;
8214 TALLOC_CTX *_mem_save_array_1;
8215 if (ndr_flags & NDR_SCALARS) {
8216 NDR_CHECK(ndr_pull_align(ndr, 5));
8217 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8218 if (r->count > 10000) {
8219 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8221 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8223 NDR_PULL_ALLOC(ndr, r->array);
8227 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8229 if (ndr_flags & NDR_BUFFERS) {
8231 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8232 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8233 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8234 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8235 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8236 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8237 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8238 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8240 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8241 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8244 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8247 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8250 return NDR_ERR_SUCCESS;
8253 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8255 uint32_t cntr_array_1;
8256 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8258 ndr_print_uint32(ndr, "count", r->count);
8259 ndr_print_ptr(ndr, "array", r->array);
8262 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8264 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8266 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8267 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8277 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8279 if (ndr_flags & NDR_SCALARS) {
8280 int level = ndr_push_get_switch_value(ndr, r);
8281 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8282 NDR_CHECK(ndr_push_union_align(ndr, 5));
8284 case DRSUAPI_DC_INFO_CTR_1: {
8285 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8288 case DRSUAPI_DC_INFO_CTR_2: {
8289 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8292 case DRSUAPI_DC_INFO_CTR_3: {
8293 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8296 case DRSUAPI_DC_CONNECTION_CTR_01: {
8297 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8301 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8304 if (ndr_flags & NDR_BUFFERS) {
8305 int level = ndr_push_get_switch_value(ndr, r);
8307 case DRSUAPI_DC_INFO_CTR_1:
8308 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8311 case DRSUAPI_DC_INFO_CTR_2:
8312 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8315 case DRSUAPI_DC_INFO_CTR_3:
8316 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8319 case DRSUAPI_DC_CONNECTION_CTR_01:
8320 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8324 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8327 return NDR_ERR_SUCCESS;
8330 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8334 level = ndr_pull_get_switch_value(ndr, r);
8335 if (ndr_flags & NDR_SCALARS) {
8336 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8337 if (_level != level) {
8338 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8340 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8342 case DRSUAPI_DC_INFO_CTR_1: {
8343 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8346 case DRSUAPI_DC_INFO_CTR_2: {
8347 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8350 case DRSUAPI_DC_INFO_CTR_3: {
8351 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8354 case DRSUAPI_DC_CONNECTION_CTR_01: {
8355 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8359 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8362 if (ndr_flags & NDR_BUFFERS) {
8364 case DRSUAPI_DC_INFO_CTR_1:
8365 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8368 case DRSUAPI_DC_INFO_CTR_2:
8369 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8372 case DRSUAPI_DC_INFO_CTR_3:
8373 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8376 case DRSUAPI_DC_CONNECTION_CTR_01:
8377 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8381 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8384 return NDR_ERR_SUCCESS;
8387 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
8390 level = ndr_print_get_switch_value(ndr, r);
8391 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
8393 case DRSUAPI_DC_INFO_CTR_1:
8394 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
8397 case DRSUAPI_DC_INFO_CTR_2:
8398 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
8401 case DRSUAPI_DC_INFO_CTR_3:
8402 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
8405 case DRSUAPI_DC_CONNECTION_CTR_01:
8406 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
8410 ndr_print_bad_level(ndr, name, level);
8414 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
8416 if (ndr_flags & NDR_SCALARS) {
8417 NDR_CHECK(ndr_push_align(ndr, 5));
8418 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
8419 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8420 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8422 if (ndr_flags & NDR_BUFFERS) {
8423 if (r->next_object) {
8424 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8426 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8428 return NDR_ERR_SUCCESS;
8431 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8433 uint32_t _ptr_next_object;
8434 TALLOC_CTX *_mem_save_next_object_0;
8435 if (ndr_flags & NDR_SCALARS) {
8436 NDR_CHECK(ndr_pull_align(ndr, 5));
8437 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8438 if (_ptr_next_object) {
8439 NDR_PULL_ALLOC(ndr, r->next_object);
8441 r->next_object = NULL;
8443 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8444 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8446 if (ndr_flags & NDR_BUFFERS) {
8447 if (r->next_object) {
8448 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8449 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8450 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8451 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8453 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8455 return NDR_ERR_SUCCESS;
8458 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8460 if (ndr_flags & NDR_SCALARS) {
8461 NDR_CHECK(ndr_push_align(ndr, 5));
8462 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8463 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8465 if (ndr_flags & NDR_BUFFERS) {
8466 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8468 return NDR_ERR_SUCCESS;
8471 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8473 if (ndr_flags & NDR_SCALARS) {
8474 NDR_CHECK(ndr_pull_align(ndr, 5));
8475 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8476 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8478 if (ndr_flags & NDR_BUFFERS) {
8479 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8481 return NDR_ERR_SUCCESS;
8484 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8486 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8488 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8492 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
8494 if (ndr_flags & NDR_SCALARS) {
8495 int level = ndr_push_get_switch_value(ndr, r);
8496 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8497 NDR_CHECK(ndr_push_union_align(ndr, 5));
8500 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8504 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8507 if (ndr_flags & NDR_BUFFERS) {
8508 int level = ndr_push_get_switch_value(ndr, r);
8511 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8515 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8518 return NDR_ERR_SUCCESS;
8521 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
8525 level = ndr_pull_get_switch_value(ndr, r);
8526 if (ndr_flags & NDR_SCALARS) {
8527 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8528 if (_level != level) {
8529 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8531 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8534 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8538 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8541 if (ndr_flags & NDR_BUFFERS) {
8544 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8548 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8551 return NDR_ERR_SUCCESS;
8554 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
8557 level = ndr_print_get_switch_value(ndr, r);
8558 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
8561 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
8565 ndr_print_bad_level(ndr, name, level);
8569 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
8571 if (ndr_flags & NDR_SCALARS) {
8572 NDR_CHECK(ndr_push_align(ndr, 4));
8573 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8574 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8575 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8576 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
8577 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8579 if (ndr_flags & NDR_BUFFERS) {
8581 return NDR_ERR_SUCCESS;
8584 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
8586 if (ndr_flags & NDR_SCALARS) {
8587 NDR_CHECK(ndr_pull_align(ndr, 4));
8588 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8589 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8590 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8591 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
8592 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8594 if (ndr_flags & NDR_BUFFERS) {
8596 return NDR_ERR_SUCCESS;
8599 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
8601 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
8603 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8604 ndr_print_WERROR(ndr, "status", r->status);
8605 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8606 ndr_print_uint16(ndr, "unknown3", r->unknown3);
8610 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8612 if (ndr_flags & NDR_SCALARS) {
8613 NDR_CHECK(ndr_push_align(ndr, 5));
8614 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8615 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8616 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8618 if (ndr_flags & NDR_BUFFERS) {
8620 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
8621 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
8624 return NDR_ERR_SUCCESS;
8627 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8630 TALLOC_CTX *_mem_save_data_0;
8631 if (ndr_flags & NDR_SCALARS) {
8632 NDR_CHECK(ndr_pull_align(ndr, 5));
8633 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8634 if (r->size > 10485760) {
8635 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8637 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8639 NDR_PULL_ALLOC(ndr, r->data);
8643 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8645 if (ndr_flags & NDR_BUFFERS) {
8647 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8648 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8649 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
8650 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
8651 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
8652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8655 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
8658 return NDR_ERR_SUCCESS;
8661 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8663 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
8665 ndr_print_uint32(ndr, "size", r->size);
8666 ndr_print_ptr(ndr, "data", r->data);
8669 ndr_print_array_uint8(ndr, "data", r->data, r->size);
8675 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
8677 if (ndr_flags & NDR_SCALARS) {
8678 NDR_CHECK(ndr_push_align(ndr, 5));
8679 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8680 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
8681 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8682 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8683 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8685 if (ndr_flags & NDR_BUFFERS) {
8686 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8688 return NDR_ERR_SUCCESS;
8691 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
8693 if (ndr_flags & NDR_SCALARS) {
8694 NDR_CHECK(ndr_pull_align(ndr, 5));
8695 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8696 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
8697 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8698 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8699 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8701 if (ndr_flags & NDR_BUFFERS) {
8702 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8704 return NDR_ERR_SUCCESS;
8707 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
8709 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
8711 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8712 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
8713 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8714 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
8718 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8720 if (ndr_flags & NDR_SCALARS) {
8721 NDR_CHECK(ndr_push_align(ndr, 5));
8722 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
8723 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8724 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8726 if (ndr_flags & NDR_BUFFERS) {
8728 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8730 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8732 return NDR_ERR_SUCCESS;
8735 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
8738 TALLOC_CTX *_mem_save_next_0;
8739 if (ndr_flags & NDR_SCALARS) {
8740 NDR_CHECK(ndr_pull_align(ndr, 5));
8741 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
8743 NDR_PULL_ALLOC(ndr, r->next);
8747 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8748 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8750 if (ndr_flags & NDR_BUFFERS) {
8752 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
8753 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
8754 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8755 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
8757 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8759 return NDR_ERR_SUCCESS;
8762 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8764 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
8766 ndr_print_ptr(ndr, "next", r->next);
8769 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
8772 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
8776 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8778 if (ndr_flags & NDR_SCALARS) {
8779 NDR_CHECK(ndr_push_align(ndr, 5));
8780 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8781 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8782 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8783 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8785 if (ndr_flags & NDR_BUFFERS) {
8787 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8789 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8791 return NDR_ERR_SUCCESS;
8794 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
8797 TALLOC_CTX *_mem_save_id_0;
8798 if (ndr_flags & NDR_SCALARS) {
8799 NDR_CHECK(ndr_pull_align(ndr, 5));
8800 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8802 NDR_PULL_ALLOC(ndr, r->id);
8806 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8807 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8808 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8810 if (ndr_flags & NDR_BUFFERS) {
8812 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8813 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8814 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8815 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8817 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8819 return NDR_ERR_SUCCESS;
8822 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8824 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
8826 ndr_print_ptr(ndr, "id", r->id);
8829 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8832 ndr_print_WERROR(ndr, "status", r->status);
8833 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
8837 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
8839 if (ndr_flags & NDR_SCALARS) {
8840 int level = ndr_push_get_switch_value(ndr, r);
8841 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8842 NDR_CHECK(ndr_push_union_align(ndr, 5));
8845 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8849 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8853 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8857 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8861 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8865 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8868 if (ndr_flags & NDR_BUFFERS) {
8869 int level = ndr_push_get_switch_value(ndr, r);
8872 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8888 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8891 return NDR_ERR_SUCCESS;
8894 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
8898 level = ndr_pull_get_switch_value(ndr, r);
8899 if (ndr_flags & NDR_SCALARS) {
8900 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8901 if (_level != level) {
8902 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8904 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8907 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8911 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8915 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8919 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8923 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8927 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8930 if (ndr_flags & NDR_BUFFERS) {
8933 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8949 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8952 return NDR_ERR_SUCCESS;
8955 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
8958 level = ndr_print_get_switch_value(ndr, r);
8959 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
8962 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
8966 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8970 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8974 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8978 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8982 ndr_print_bad_level(ndr, name, level);
8986 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
8988 if (ndr_flags & NDR_SCALARS) {
8989 NDR_CHECK(ndr_push_align(ndr, 5));
8990 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8991 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8992 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8993 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8995 if (ndr_flags & NDR_BUFFERS) {
8997 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
8998 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
9001 return NDR_ERR_SUCCESS;
9004 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
9007 TALLOC_CTX *_mem_save_info_0;
9008 if (ndr_flags & NDR_SCALARS) {
9009 NDR_CHECK(ndr_pull_align(ndr, 5));
9010 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
9011 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9012 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9014 NDR_PULL_ALLOC(ndr, r->info);
9018 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9020 if (ndr_flags & NDR_BUFFERS) {
9022 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9023 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
9024 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
9025 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
9026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
9029 return NDR_ERR_SUCCESS;
9032 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
9034 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
9036 ndr_print_WERROR(ndr, "status", r->status);
9037 ndr_print_uint32(ndr, "level", r->level);
9038 ndr_print_ptr(ndr, "info", r->info);
9041 ndr_print_set_switch_value(ndr, r->info, r->level);
9042 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
9048 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
9050 if (ndr_flags & NDR_SCALARS) {
9051 int level = ndr_push_get_switch_value(ndr, r);
9052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9053 NDR_CHECK(ndr_push_union_align(ndr, 5));
9056 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
9060 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9063 if (ndr_flags & NDR_BUFFERS) {
9064 int level = ndr_push_get_switch_value(ndr, r);
9067 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
9071 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9074 return NDR_ERR_SUCCESS;
9077 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
9081 level = ndr_pull_get_switch_value(ndr, r);
9082 if (ndr_flags & NDR_SCALARS) {
9083 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9084 if (_level != level) {
9085 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9087 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9090 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
9094 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9097 if (ndr_flags & NDR_BUFFERS) {
9100 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
9104 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9107 return NDR_ERR_SUCCESS;
9110 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
9113 level = ndr_print_get_switch_value(ndr, r);
9114 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
9117 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
9121 ndr_print_bad_level(ndr, name, level);
9125 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9127 if (ndr_flags & NDR_SCALARS) {
9128 NDR_CHECK(ndr_push_align(ndr, 4));
9129 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
9130 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9131 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9133 if (ndr_flags & NDR_BUFFERS) {
9134 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9136 return NDR_ERR_SUCCESS;
9139 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
9141 if (ndr_flags & NDR_SCALARS) {
9142 NDR_CHECK(ndr_pull_align(ndr, 4));
9143 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
9144 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9145 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9147 if (ndr_flags & NDR_BUFFERS) {
9148 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9150 return NDR_ERR_SUCCESS;
9153 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9155 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
9157 ndr_print_GUID(ndr, "guid", &r->guid);
9158 ndr_print_dom_sid28(ndr, "sid", &r->sid);
9162 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
9164 uint32_t cntr_objects_1;
9165 if (ndr_flags & NDR_SCALARS) {
9166 NDR_CHECK(ndr_push_align(ndr, 5));
9167 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9169 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9170 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9171 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9172 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9174 if (ndr_flags & NDR_BUFFERS) {
9176 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9179 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9180 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9181 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9183 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9184 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9188 return NDR_ERR_SUCCESS;
9191 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
9194 TALLOC_CTX *_mem_save_id_0;
9195 uint32_t _ptr_objects;
9196 uint32_t cntr_objects_1;
9197 TALLOC_CTX *_mem_save_objects_0;
9198 TALLOC_CTX *_mem_save_objects_1;
9199 if (ndr_flags & NDR_SCALARS) {
9200 NDR_CHECK(ndr_pull_align(ndr, 5));
9201 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9203 NDR_PULL_ALLOC(ndr, r->id);
9207 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9208 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9210 if (r->count > 10000) {
9211 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9213 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9215 NDR_PULL_ALLOC(ndr, r->objects);
9219 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9221 if (ndr_flags & NDR_BUFFERS) {
9223 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9224 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9225 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9226 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9229 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9230 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9231 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9232 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9233 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9234 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9235 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9236 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9238 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9239 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9242 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9245 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9248 return NDR_ERR_SUCCESS;
9251 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
9253 uint32_t cntr_objects_1;
9254 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
9256 ndr_print_ptr(ndr, "id", r->id);
9259 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9262 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9263 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
9264 ndr_print_uint32(ndr, "count", r->count);
9265 ndr_print_ptr(ndr, "objects", r->objects);
9268 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9270 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9272 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9273 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9283 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
9285 uint32_t cntr_objects_1;
9286 if (ndr_flags & NDR_SCALARS) {
9287 NDR_CHECK(ndr_push_align(ndr, 5));
9288 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9289 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
9290 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
9291 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9292 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9293 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9295 if (ndr_flags & NDR_BUFFERS) {
9297 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9300 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
9301 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9304 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9305 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9306 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9308 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9309 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9313 return NDR_ERR_SUCCESS;
9316 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
9319 TALLOC_CTX *_mem_save_id_0;
9320 uint32_t _ptr_error;
9321 TALLOC_CTX *_mem_save_error_0;
9322 uint32_t _ptr_objects;
9323 uint32_t cntr_objects_1;
9324 TALLOC_CTX *_mem_save_objects_0;
9325 TALLOC_CTX *_mem_save_objects_1;
9326 if (ndr_flags & NDR_SCALARS) {
9327 NDR_CHECK(ndr_pull_align(ndr, 5));
9328 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9330 NDR_PULL_ALLOC(ndr, r->id);
9334 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9335 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
9337 NDR_PULL_ALLOC(ndr, r->error);
9341 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9342 if (r->count > 10000) {
9343 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9345 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9347 NDR_PULL_ALLOC(ndr, r->objects);
9351 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9353 if (ndr_flags & NDR_BUFFERS) {
9355 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9356 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9357 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9358 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9361 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
9362 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
9363 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
9364 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9365 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
9368 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9369 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9370 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9371 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9372 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9373 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9374 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9375 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9377 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9378 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9380 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9381 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9384 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9387 return NDR_ERR_SUCCESS;
9390 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
9392 uint32_t cntr_objects_1;
9393 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
9395 ndr_print_ptr(ndr, "id", r->id);
9398 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9401 ndr_print_uint32(ndr, "level", r->level);
9402 ndr_print_ptr(ndr, "error", r->error);
9405 ndr_print_set_switch_value(ndr, r->error, r->level);
9406 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
9409 ndr_print_uint32(ndr, "count", r->count);
9410 ndr_print_ptr(ndr, "objects", r->objects);
9413 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9415 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9417 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9418 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9428 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
9430 if (ndr_flags & NDR_SCALARS) {
9431 int level = ndr_push_get_switch_value(ndr, r);
9432 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
9433 NDR_CHECK(ndr_push_union_align(ndr, 5));
9436 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9440 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9444 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9447 if (ndr_flags & NDR_BUFFERS) {
9448 int level = ndr_push_get_switch_value(ndr, r);
9451 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9455 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9459 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9462 return NDR_ERR_SUCCESS;
9465 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
9469 level = ndr_pull_get_switch_value(ndr, r);
9470 if (ndr_flags & NDR_SCALARS) {
9471 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
9472 if (_level != level) {
9473 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9475 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9478 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9482 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9486 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9489 if (ndr_flags & NDR_BUFFERS) {
9492 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9496 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9500 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9503 return NDR_ERR_SUCCESS;
9506 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
9509 level = ndr_print_get_switch_value(ndr, r);
9510 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
9513 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
9517 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
9521 ndr_print_bad_level(ndr, name, level);
9525 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9527 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9528 return NDR_ERR_SUCCESS;
9531 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9534 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9536 return NDR_ERR_SUCCESS;
9539 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
9541 ndr_print_uint32(ndr, name, r);
9543 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
9544 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
9548 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
9550 if (ndr_flags & NDR_SCALARS) {
9551 NDR_CHECK(ndr_push_align(ndr, 4));
9552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
9553 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
9554 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9556 if (ndr_flags & NDR_BUFFERS) {
9558 return NDR_ERR_SUCCESS;
9561 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
9563 if (ndr_flags & NDR_SCALARS) {
9564 NDR_CHECK(ndr_pull_align(ndr, 4));
9565 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
9566 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
9567 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9569 if (ndr_flags & NDR_BUFFERS) {
9571 return NDR_ERR_SUCCESS;
9574 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
9576 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
9578 ndr_print_uint32(ndr, "taskID", r->taskID);
9579 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
9583 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
9585 if (ndr_flags & NDR_SCALARS) {
9586 int level = ndr_push_get_switch_value(ndr, r);
9587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9588 NDR_CHECK(ndr_push_union_align(ndr, 4));
9591 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9595 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9598 if (ndr_flags & NDR_BUFFERS) {
9599 int level = ndr_push_get_switch_value(ndr, r);
9605 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9608 return NDR_ERR_SUCCESS;
9611 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
9615 level = ndr_pull_get_switch_value(ndr, r);
9616 if (ndr_flags & NDR_SCALARS) {
9617 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9618 if (_level != level) {
9619 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9621 NDR_CHECK(ndr_pull_union_align(ndr, 4));
9624 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9628 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9631 if (ndr_flags & NDR_BUFFERS) {
9637 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9640 return NDR_ERR_SUCCESS;
9643 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
9646 level = ndr_print_get_switch_value(ndr, r);
9647 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
9650 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
9654 ndr_print_bad_level(ndr, name, level);
9658 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
9660 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9661 return NDR_ERR_SUCCESS;
9664 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
9667 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9669 return NDR_ERR_SUCCESS;
9672 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
9674 const char *val = NULL;
9677 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9678 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9680 ndr_print_enum(ndr, name, "ENUM", val, r);
9683 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
9685 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9686 return NDR_ERR_SUCCESS;
9689 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
9692 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9694 return NDR_ERR_SUCCESS;
9697 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
9699 const char *val = NULL;
9702 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9703 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9704 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9705 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9706 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9707 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9708 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9709 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9710 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9711 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9712 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9713 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
9714 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: val = "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
9715 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
9716 case DRSUAPI_DS_REPLICA_INFO_06: val = "DRSUAPI_DS_REPLICA_INFO_06"; break;
9718 ndr_print_enum(ndr, name, "ENUM", val, r);
9721 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9723 if (ndr_flags & NDR_SCALARS) {
9724 NDR_CHECK(ndr_push_align(ndr, 5));
9725 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9726 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9727 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9728 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9730 if (ndr_flags & NDR_BUFFERS) {
9732 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9733 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9734 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9735 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9738 return NDR_ERR_SUCCESS;
9741 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
9743 uint32_t _ptr_object_dn;
9744 TALLOC_CTX *_mem_save_object_dn_0;
9745 if (ndr_flags & NDR_SCALARS) {
9746 NDR_CHECK(ndr_pull_align(ndr, 5));
9747 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9748 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9749 if (_ptr_object_dn) {
9750 NDR_PULL_ALLOC(ndr, r->object_dn);
9752 r->object_dn = NULL;
9754 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9755 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9757 if (ndr_flags & NDR_BUFFERS) {
9759 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9760 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9761 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9762 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9763 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9764 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));
9766 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9767 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9768 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9771 return NDR_ERR_SUCCESS;
9774 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9776 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
9778 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9779 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9782 ndr_print_string(ndr, "object_dn", r->object_dn);
9785 ndr_print_GUID(ndr, "guid1", &r->guid1);
9789 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9791 if (ndr_flags & NDR_SCALARS) {
9792 NDR_CHECK(ndr_push_align(ndr, 5));
9793 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9794 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9795 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9797 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string1));
9798 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string2));
9799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
9800 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9802 if (ndr_flags & NDR_BUFFERS) {
9804 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9805 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9806 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9807 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9810 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9811 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9812 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9813 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string1, ndr_charset_length(r->string1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9816 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9817 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9818 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9819 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string2, ndr_charset_length(r->string2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9822 return NDR_ERR_SUCCESS;
9825 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
9827 uint32_t _ptr_object_dn;
9828 TALLOC_CTX *_mem_save_object_dn_0;
9829 uint32_t _ptr_string1;
9830 TALLOC_CTX *_mem_save_string1_0;
9831 uint32_t _ptr_string2;
9832 TALLOC_CTX *_mem_save_string2_0;
9833 if (ndr_flags & NDR_SCALARS) {
9834 NDR_CHECK(ndr_pull_align(ndr, 5));
9835 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9836 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9837 if (_ptr_object_dn) {
9838 NDR_PULL_ALLOC(ndr, r->object_dn);
9840 r->object_dn = NULL;
9842 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9843 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9844 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string1));
9846 NDR_PULL_ALLOC(ndr, r->string1);
9850 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string2));
9852 NDR_PULL_ALLOC(ndr, r->string2);
9856 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
9857 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9859 if (ndr_flags & NDR_BUFFERS) {
9861 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9862 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9863 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9864 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9865 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9866 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));
9868 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9869 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9870 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9873 _mem_save_string1_0 = NDR_PULL_GET_MEM_CTX(ndr);
9874 NDR_PULL_SET_MEM_CTX(ndr, r->string1, 0);
9875 NDR_CHECK(ndr_pull_array_size(ndr, &r->string1));
9876 NDR_CHECK(ndr_pull_array_length(ndr, &r->string1));
9877 if (ndr_get_array_length(ndr, &r->string1) > ndr_get_array_size(ndr, &r->string1)) {
9878 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));
9880 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t)));
9881 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string1, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t), CH_UTF16));
9882 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string1_0, 0);
9885 _mem_save_string2_0 = NDR_PULL_GET_MEM_CTX(ndr);
9886 NDR_PULL_SET_MEM_CTX(ndr, r->string2, 0);
9887 NDR_CHECK(ndr_pull_array_size(ndr, &r->string2));
9888 NDR_CHECK(ndr_pull_array_length(ndr, &r->string2));
9889 if (ndr_get_array_length(ndr, &r->string2) > ndr_get_array_size(ndr, &r->string2)) {
9890 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));
9892 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t)));
9893 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string2, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t), CH_UTF16));
9894 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string2_0, 0);
9897 return NDR_ERR_SUCCESS;
9900 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9902 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
9904 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9905 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9908 ndr_print_string(ndr, "object_dn", r->object_dn);
9911 ndr_print_GUID(ndr, "guid1", &r->guid1);
9912 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9913 ndr_print_ptr(ndr, "string1", r->string1);
9916 ndr_print_string(ndr, "string1", r->string1);
9919 ndr_print_ptr(ndr, "string2", r->string2);
9922 ndr_print_string(ndr, "string2", r->string2);
9925 ndr_print_uint32(ndr, "unknown2", r->unknown2);
9929 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
9931 if (ndr_flags & NDR_SCALARS) {
9932 int level = ndr_push_get_switch_value(ndr, r);
9933 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
9934 NDR_CHECK(ndr_push_union_align(ndr, 5));
9936 case DRSUAPI_DS_REPLICA_GET_INFO: {
9937 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9940 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9941 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9945 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9948 if (ndr_flags & NDR_BUFFERS) {
9949 int level = ndr_push_get_switch_value(ndr, r);
9951 case DRSUAPI_DS_REPLICA_GET_INFO:
9952 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9955 case DRSUAPI_DS_REPLICA_GET_INFO2:
9956 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9960 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9963 return NDR_ERR_SUCCESS;
9966 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
9970 level = ndr_pull_get_switch_value(ndr, r);
9971 if (ndr_flags & NDR_SCALARS) {
9972 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9973 if (_level != level) {
9974 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9976 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9978 case DRSUAPI_DS_REPLICA_GET_INFO: {
9979 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9982 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9983 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9987 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9990 if (ndr_flags & NDR_BUFFERS) {
9992 case DRSUAPI_DS_REPLICA_GET_INFO:
9993 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9996 case DRSUAPI_DS_REPLICA_GET_INFO2:
9997 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
10001 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10004 return NDR_ERR_SUCCESS;
10007 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
10010 level = ndr_print_get_switch_value(ndr, r);
10011 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
10013 case DRSUAPI_DS_REPLICA_GET_INFO:
10014 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
10017 case DRSUAPI_DS_REPLICA_GET_INFO2:
10018 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
10022 ndr_print_bad_level(ndr, name, level);
10026 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
10028 if (ndr_flags & NDR_SCALARS) {
10029 NDR_CHECK(ndr_push_align(ndr, 8));
10030 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
10031 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
10032 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
10033 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
10034 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
10035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10036 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
10037 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
10038 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10039 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
10040 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
10041 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
10042 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
10043 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
10044 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
10045 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
10046 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10048 if (ndr_flags & NDR_BUFFERS) {
10049 if (r->naming_context_dn) {
10050 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
10051 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10052 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
10053 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));
10055 if (r->source_dsa_obj_dn) {
10056 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10057 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10058 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10059 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));
10061 if (r->source_dsa_address) {
10062 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
10063 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10064 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
10065 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));
10067 if (r->transport_obj_dn) {
10068 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
10069 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10070 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
10071 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));
10074 return NDR_ERR_SUCCESS;
10077 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
10079 uint32_t _ptr_naming_context_dn;
10080 TALLOC_CTX *_mem_save_naming_context_dn_0;
10081 uint32_t _ptr_source_dsa_obj_dn;
10082 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
10083 uint32_t _ptr_source_dsa_address;
10084 TALLOC_CTX *_mem_save_source_dsa_address_0;
10085 uint32_t _ptr_transport_obj_dn;
10086 TALLOC_CTX *_mem_save_transport_obj_dn_0;
10087 if (ndr_flags & NDR_SCALARS) {
10088 NDR_CHECK(ndr_pull_align(ndr, 8));
10089 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
10090 if (_ptr_naming_context_dn) {
10091 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
10093 r->naming_context_dn = NULL;
10095 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
10096 if (_ptr_source_dsa_obj_dn) {
10097 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
10099 r->source_dsa_obj_dn = NULL;
10101 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
10102 if (_ptr_source_dsa_address) {
10103 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
10105 r->source_dsa_address = NULL;
10107 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
10108 if (_ptr_transport_obj_dn) {
10109 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
10111 r->transport_obj_dn = NULL;
10113 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
10114 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10115 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
10116 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
10117 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10118 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
10119 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
10120 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
10121 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
10122 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
10123 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
10124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
10125 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10127 if (ndr_flags & NDR_BUFFERS) {
10128 if (r->naming_context_dn) {
10129 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10130 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
10131 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
10132 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
10133 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
10134 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));
10136 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
10137 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));
10138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
10140 if (r->source_dsa_obj_dn) {
10141 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10142 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
10143 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
10144 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
10145 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
10146 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));
10148 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
10149 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));
10150 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10152 if (r->source_dsa_address) {
10153 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10154 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
10155 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
10156 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
10157 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
10158 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));
10160 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
10161 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));
10162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
10164 if (r->transport_obj_dn) {
10165 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10166 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
10167 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
10168 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
10169 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
10170 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));
10172 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
10173 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));
10174 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
10177 return NDR_ERR_SUCCESS;
10180 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
10182 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
10184 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
10186 if (r->naming_context_dn) {
10187 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
10190 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10192 if (r->source_dsa_obj_dn) {
10193 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10196 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
10198 if (r->source_dsa_address) {
10199 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
10202 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
10204 if (r->transport_obj_dn) {
10205 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
10208 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
10209 ndr_print_uint32(ndr, "reserved", r->reserved);
10210 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
10211 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
10212 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10213 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
10214 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
10215 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10216 ndr_print_NTTIME(ndr, "last_success", r->last_success);
10217 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
10218 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
10219 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
10223 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
10225 uint32_t cntr_array_0;
10226 if (ndr_flags & NDR_SCALARS) {
10227 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10228 NDR_CHECK(ndr_push_align(ndr, 8));
10229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10231 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10232 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10234 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10236 if (ndr_flags & NDR_BUFFERS) {
10237 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10238 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10241 return NDR_ERR_SUCCESS;
10244 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
10246 uint32_t cntr_array_0;
10247 TALLOC_CTX *_mem_save_array_0;
10248 if (ndr_flags & NDR_SCALARS) {
10249 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10250 NDR_CHECK(ndr_pull_align(ndr, 8));
10251 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10252 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10253 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10254 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10255 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10256 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10257 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10259 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10261 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10263 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10265 if (ndr_flags & NDR_BUFFERS) {
10266 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10267 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10268 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10269 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10271 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10273 return NDR_ERR_SUCCESS;
10276 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
10278 uint32_t cntr_array_0;
10279 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
10281 ndr_print_uint32(ndr, "count", r->count);
10282 ndr_print_uint32(ndr, "reserved", r->reserved);
10283 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10285 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10287 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10288 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
10296 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
10298 uint32_t cntr_array_0;
10299 if (ndr_flags & NDR_SCALARS) {
10300 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10301 NDR_CHECK(ndr_push_align(ndr, 8));
10302 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10303 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10304 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10305 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10307 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10309 if (ndr_flags & NDR_BUFFERS) {
10311 return NDR_ERR_SUCCESS;
10314 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
10316 uint32_t cntr_array_0;
10317 TALLOC_CTX *_mem_save_array_0;
10318 if (ndr_flags & NDR_SCALARS) {
10319 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10320 NDR_CHECK(ndr_pull_align(ndr, 8));
10321 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10322 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10323 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10324 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10325 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10326 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10327 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10329 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10331 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10333 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10335 if (ndr_flags & NDR_BUFFERS) {
10337 return NDR_ERR_SUCCESS;
10340 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
10342 uint32_t cntr_array_0;
10343 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
10345 ndr_print_uint32(ndr, "count", r->count);
10346 ndr_print_uint32(ndr, "reserved", r->reserved);
10347 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10349 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10351 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10352 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
10360 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
10362 if (ndr_flags & NDR_SCALARS) {
10363 NDR_CHECK(ndr_push_align(ndr, 8));
10364 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10365 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10366 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10367 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10368 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10369 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10370 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10372 if (ndr_flags & NDR_BUFFERS) {
10373 if (r->attribute_name) {
10374 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10375 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10376 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10377 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10380 return NDR_ERR_SUCCESS;
10383 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
10385 uint32_t _ptr_attribute_name;
10386 TALLOC_CTX *_mem_save_attribute_name_0;
10387 if (ndr_flags & NDR_SCALARS) {
10388 NDR_CHECK(ndr_pull_align(ndr, 8));
10389 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10390 if (_ptr_attribute_name) {
10391 NDR_PULL_ALLOC(ndr, r->attribute_name);
10393 r->attribute_name = NULL;
10395 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10396 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10397 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10398 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10399 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10400 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10402 if (ndr_flags & NDR_BUFFERS) {
10403 if (r->attribute_name) {
10404 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10405 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10406 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10407 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10408 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10409 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));
10411 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10412 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10413 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10416 return NDR_ERR_SUCCESS;
10419 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
10421 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
10423 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10425 if (r->attribute_name) {
10426 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10429 ndr_print_uint32(ndr, "version", r->version);
10430 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10431 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10432 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10433 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10437 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10439 uint32_t cntr_array_0;
10440 if (ndr_flags & NDR_SCALARS) {
10441 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10442 NDR_CHECK(ndr_push_align(ndr, 8));
10443 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10444 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10445 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10446 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10448 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10450 if (ndr_flags & NDR_BUFFERS) {
10451 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10452 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10455 return NDR_ERR_SUCCESS;
10458 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
10460 uint32_t cntr_array_0;
10461 TALLOC_CTX *_mem_save_array_0;
10462 if (ndr_flags & NDR_SCALARS) {
10463 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10464 NDR_CHECK(ndr_pull_align(ndr, 8));
10465 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10466 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10467 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10468 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10469 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10470 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10471 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10473 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10475 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10477 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10479 if (ndr_flags & NDR_BUFFERS) {
10480 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10481 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10482 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10483 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10487 return NDR_ERR_SUCCESS;
10490 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10492 uint32_t cntr_array_0;
10493 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
10495 ndr_print_uint32(ndr, "count", r->count);
10496 ndr_print_uint32(ndr, "reserved", r->reserved);
10497 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10499 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10501 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10502 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
10510 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
10512 if (ndr_flags & NDR_SCALARS) {
10513 NDR_CHECK(ndr_push_align(ndr, 5));
10514 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
10515 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10516 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
10517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
10518 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
10519 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10521 if (ndr_flags & NDR_BUFFERS) {
10522 if (r->dsa_obj_dn) {
10523 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10524 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10525 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10526 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));
10529 return NDR_ERR_SUCCESS;
10532 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
10534 uint32_t _ptr_dsa_obj_dn;
10535 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
10536 if (ndr_flags & NDR_SCALARS) {
10537 NDR_CHECK(ndr_pull_align(ndr, 5));
10538 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
10539 if (_ptr_dsa_obj_dn) {
10540 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
10542 r->dsa_obj_dn = NULL;
10544 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10545 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
10546 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
10547 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
10548 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10550 if (ndr_flags & NDR_BUFFERS) {
10551 if (r->dsa_obj_dn) {
10552 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10553 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
10554 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
10555 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
10556 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
10557 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));
10559 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
10560 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));
10561 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
10564 return NDR_ERR_SUCCESS;
10567 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
10569 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
10571 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10573 if (r->dsa_obj_dn) {
10574 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10577 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
10578 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
10579 ndr_print_uint32(ndr, "num_failures", r->num_failures);
10580 ndr_print_WERROR(ndr, "last_result", r->last_result);
10584 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10586 uint32_t cntr_array_0;
10587 if (ndr_flags & NDR_SCALARS) {
10588 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10589 NDR_CHECK(ndr_push_align(ndr, 5));
10590 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10592 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10593 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10595 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10597 if (ndr_flags & NDR_BUFFERS) {
10598 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10599 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10602 return NDR_ERR_SUCCESS;
10605 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10607 uint32_t cntr_array_0;
10608 TALLOC_CTX *_mem_save_array_0;
10609 if (ndr_flags & NDR_SCALARS) {
10610 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10611 NDR_CHECK(ndr_pull_align(ndr, 5));
10612 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10613 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10614 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10615 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10616 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10617 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10618 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10622 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10624 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10626 if (ndr_flags & NDR_BUFFERS) {
10627 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10628 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10629 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10630 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10632 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10634 return NDR_ERR_SUCCESS;
10637 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10639 uint32_t cntr_array_0;
10640 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
10642 ndr_print_uint32(ndr, "count", r->count);
10643 ndr_print_uint32(ndr, "reserved", r->reserved);
10644 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10646 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10648 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10649 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
10657 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
10659 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
10660 return NDR_ERR_SUCCESS;
10663 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
10666 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
10668 return NDR_ERR_SUCCESS;
10671 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
10673 const char *val = NULL;
10676 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10677 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10678 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10679 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10680 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10682 ndr_print_enum(ndr, name, "ENUM", val, r);
10685 static enum ndr_err_code ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRplicaOpOptions *r)
10687 if (ndr_flags & NDR_SCALARS) {
10688 int level = ndr_push_get_switch_value(ndr, r);
10689 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, level));
10690 NDR_CHECK(ndr_push_union_align(ndr, 4));
10692 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10693 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->sync));
10696 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10697 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->add));
10700 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10701 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->op_delete));
10704 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10705 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->modify));
10708 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10709 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->update_refs));
10713 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
10718 if (ndr_flags & NDR_BUFFERS) {
10719 int level = ndr_push_get_switch_value(ndr, r);
10721 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10724 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10727 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10730 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10733 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10741 return NDR_ERR_SUCCESS;
10744 static enum ndr_err_code ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRplicaOpOptions *r)
10748 level = ndr_pull_get_switch_value(ndr, r);
10749 if (ndr_flags & NDR_SCALARS) {
10750 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
10751 if (_level != level) {
10752 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10754 NDR_CHECK(ndr_pull_union_align(ndr, 4));
10756 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10757 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->sync));
10760 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10761 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->add));
10764 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10765 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->op_delete));
10768 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10769 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->modify));
10772 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10773 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->update_refs));
10777 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
10782 if (ndr_flags & NDR_BUFFERS) {
10784 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10787 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10790 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10793 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10796 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10804 return NDR_ERR_SUCCESS;
10807 _PUBLIC_ void ndr_print_drsuapi_DsRplicaOpOptions(struct ndr_print *ndr, const char *name, const union drsuapi_DsRplicaOpOptions *r)
10810 level = ndr_print_get_switch_value(ndr, r);
10811 ndr_print_union(ndr, name, level, "drsuapi_DsRplicaOpOptions");
10813 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10814 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "sync", r->sync);
10817 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10818 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "add", r->add);
10821 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10822 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "op_delete", r->op_delete);
10825 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10826 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "modify", r->modify);
10829 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10830 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "update_refs", r->update_refs);
10834 ndr_print_uint32(ndr, "unknown", r->unknown);
10840 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
10842 if (ndr_flags & NDR_SCALARS) {
10843 NDR_CHECK(ndr_push_align(ndr, 5));
10844 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
10845 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
10846 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
10847 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
10848 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->options, r->operation_type));
10849 NDR_CHECK(ndr_push_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10850 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
10851 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
10852 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
10853 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10854 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10855 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10857 if (ndr_flags & NDR_BUFFERS) {
10859 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10860 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10861 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10862 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10864 if (r->remote_dsa_obj_dn) {
10865 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10866 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10867 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10868 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));
10870 if (r->remote_dsa_address) {
10871 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10872 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10873 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10874 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));
10877 return NDR_ERR_SUCCESS;
10880 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
10882 uint32_t _ptr_nc_dn;
10883 TALLOC_CTX *_mem_save_nc_dn_0;
10884 uint32_t _ptr_remote_dsa_obj_dn;
10885 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
10886 uint32_t _ptr_remote_dsa_address;
10887 TALLOC_CTX *_mem_save_remote_dsa_address_0;
10888 if (ndr_flags & NDR_SCALARS) {
10889 NDR_CHECK(ndr_pull_align(ndr, 5));
10890 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
10891 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
10892 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
10893 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
10894 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->options, r->operation_type));
10895 NDR_CHECK(ndr_pull_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10896 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
10898 NDR_PULL_ALLOC(ndr, r->nc_dn);
10902 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
10903 if (_ptr_remote_dsa_obj_dn) {
10904 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
10906 r->remote_dsa_obj_dn = NULL;
10908 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
10909 if (_ptr_remote_dsa_address) {
10910 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
10912 r->remote_dsa_address = NULL;
10914 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10915 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10916 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10918 if (ndr_flags & NDR_BUFFERS) {
10920 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10921 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
10922 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
10923 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
10924 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
10925 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));
10927 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
10928 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
10929 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
10931 if (r->remote_dsa_obj_dn) {
10932 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10933 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
10934 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
10935 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
10936 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
10937 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));
10939 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
10940 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));
10941 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
10943 if (r->remote_dsa_address) {
10944 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10945 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
10946 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
10947 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
10948 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
10949 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));
10951 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
10952 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));
10953 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
10956 return NDR_ERR_SUCCESS;
10959 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
10961 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
10963 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
10964 ndr_print_uint32(ndr, "serial_num", r->serial_num);
10965 ndr_print_uint32(ndr, "priority", r->priority);
10966 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
10967 ndr_print_set_switch_value(ndr, &r->options, r->operation_type);
10968 ndr_print_drsuapi_DsRplicaOpOptions(ndr, "options", &r->options);
10969 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
10972 ndr_print_string(ndr, "nc_dn", r->nc_dn);
10975 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10977 if (r->remote_dsa_obj_dn) {
10978 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10981 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
10983 if (r->remote_dsa_address) {
10984 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
10987 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
10988 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
10992 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
10994 uint32_t cntr_array_0;
10995 if (ndr_flags & NDR_SCALARS) {
10996 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10997 NDR_CHECK(ndr_push_align(ndr, 5));
10998 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
10999 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11000 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11001 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11003 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11005 if (ndr_flags & NDR_BUFFERS) {
11006 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11007 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11010 return NDR_ERR_SUCCESS;
11013 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
11015 uint32_t cntr_array_0;
11016 TALLOC_CTX *_mem_save_array_0;
11017 if (ndr_flags & NDR_SCALARS) {
11018 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11019 NDR_CHECK(ndr_pull_align(ndr, 5));
11020 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
11021 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11022 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11023 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11024 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11025 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11026 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11030 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11032 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11034 if (ndr_flags & NDR_BUFFERS) {
11035 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11036 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11037 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11038 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11040 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11042 return NDR_ERR_SUCCESS;
11045 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
11047 uint32_t cntr_array_0;
11048 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
11050 ndr_print_NTTIME(ndr, "time", r->time);
11051 ndr_print_uint32(ndr, "count", r->count);
11052 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11054 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11056 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11057 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
11065 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
11067 if (ndr_flags & NDR_SCALARS) {
11068 NDR_CHECK(ndr_push_align(ndr, 8));
11069 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11070 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11071 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11072 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11073 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11074 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11075 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11076 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11077 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11078 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11079 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11080 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11082 if (ndr_flags & NDR_BUFFERS) {
11083 if (r->attribute_name) {
11084 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11085 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11086 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11087 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11089 if (r->object_dn) {
11090 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11091 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11092 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11093 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11096 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11099 return NDR_ERR_SUCCESS;
11102 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
11104 uint32_t _ptr_attribute_name;
11105 TALLOC_CTX *_mem_save_attribute_name_0;
11106 uint32_t _ptr_object_dn;
11107 TALLOC_CTX *_mem_save_object_dn_0;
11108 uint32_t _ptr_binary;
11109 TALLOC_CTX *_mem_save_binary_0;
11110 if (ndr_flags & NDR_SCALARS) {
11111 NDR_CHECK(ndr_pull_align(ndr, 8));
11112 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11113 if (_ptr_attribute_name) {
11114 NDR_PULL_ALLOC(ndr, r->attribute_name);
11116 r->attribute_name = NULL;
11118 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11119 if (_ptr_object_dn) {
11120 NDR_PULL_ALLOC(ndr, r->object_dn);
11122 r->object_dn = NULL;
11124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11125 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11127 NDR_PULL_ALLOC(ndr, r->binary);
11131 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11132 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11133 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11134 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11135 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11136 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11137 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11138 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11140 if (ndr_flags & NDR_BUFFERS) {
11141 if (r->attribute_name) {
11142 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11143 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11144 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11145 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11146 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11147 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));
11149 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11150 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11151 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11153 if (r->object_dn) {
11154 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11155 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11156 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11157 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11158 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11159 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));
11161 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11162 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11163 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11166 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11167 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11168 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11169 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11172 return NDR_ERR_SUCCESS;
11175 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
11177 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
11179 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11181 if (r->attribute_name) {
11182 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11185 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11187 if (r->object_dn) {
11188 ndr_print_string(ndr, "object_dn", r->object_dn);
11191 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);
11192 ndr_print_ptr(ndr, "binary", r->binary);
11195 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11198 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11199 ndr_print_NTTIME(ndr, "created", r->created);
11200 ndr_print_uint32(ndr, "version", r->version);
11201 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11202 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11203 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11204 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11208 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11210 uint32_t cntr_array_0;
11211 if (ndr_flags & NDR_SCALARS) {
11212 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11213 NDR_CHECK(ndr_push_align(ndr, 8));
11214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11215 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11216 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11217 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11219 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11221 if (ndr_flags & NDR_BUFFERS) {
11222 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11223 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11226 return NDR_ERR_SUCCESS;
11229 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11231 uint32_t cntr_array_0;
11232 TALLOC_CTX *_mem_save_array_0;
11233 if (ndr_flags & NDR_SCALARS) {
11234 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11235 NDR_CHECK(ndr_pull_align(ndr, 8));
11236 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11237 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11238 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11239 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11240 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11241 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11242 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11244 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11246 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11248 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11250 if (ndr_flags & NDR_BUFFERS) {
11251 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11252 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11253 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11254 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11256 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11258 return NDR_ERR_SUCCESS;
11261 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11263 uint32_t cntr_array_0;
11264 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
11266 ndr_print_uint32(ndr, "count", r->count);
11267 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11268 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11270 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11272 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11273 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
11281 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
11283 uint32_t cntr_array_0;
11284 if (ndr_flags & NDR_SCALARS) {
11285 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11286 NDR_CHECK(ndr_push_align(ndr, 8));
11287 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11288 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11289 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11290 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11292 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11294 if (ndr_flags & NDR_BUFFERS) {
11296 return NDR_ERR_SUCCESS;
11299 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
11301 uint32_t cntr_array_0;
11302 TALLOC_CTX *_mem_save_array_0;
11303 if (ndr_flags & NDR_SCALARS) {
11304 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11305 NDR_CHECK(ndr_pull_align(ndr, 8));
11306 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11307 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11308 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11309 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11310 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11311 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11312 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11314 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11316 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11318 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11320 if (ndr_flags & NDR_BUFFERS) {
11322 return NDR_ERR_SUCCESS;
11325 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
11327 uint32_t cntr_array_0;
11328 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
11330 ndr_print_uint32(ndr, "count", r->count);
11331 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11332 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11334 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11336 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11337 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
11345 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
11347 if (ndr_flags & NDR_SCALARS) {
11348 NDR_CHECK(ndr_push_align(ndr, 8));
11349 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11350 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11351 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
11352 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11353 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11355 if (ndr_flags & NDR_BUFFERS) {
11356 if (r->source_dsa_obj_dn) {
11357 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11358 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11359 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11360 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));
11363 return NDR_ERR_SUCCESS;
11366 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
11368 uint32_t _ptr_source_dsa_obj_dn;
11369 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
11370 if (ndr_flags & NDR_SCALARS) {
11371 NDR_CHECK(ndr_pull_align(ndr, 8));
11372 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11373 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11374 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
11375 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11376 if (_ptr_source_dsa_obj_dn) {
11377 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11379 r->source_dsa_obj_dn = NULL;
11381 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11383 if (ndr_flags & NDR_BUFFERS) {
11384 if (r->source_dsa_obj_dn) {
11385 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11386 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11387 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11388 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11389 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
11390 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));
11392 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
11393 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));
11394 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11397 return NDR_ERR_SUCCESS;
11400 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
11402 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
11404 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11405 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11406 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
11407 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11409 if (r->source_dsa_obj_dn) {
11410 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11416 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
11418 uint32_t cntr_array_0;
11419 if (ndr_flags & NDR_SCALARS) {
11420 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11421 NDR_CHECK(ndr_push_align(ndr, 8));
11422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11423 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11424 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11425 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11427 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11429 if (ndr_flags & NDR_BUFFERS) {
11430 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11431 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11434 return NDR_ERR_SUCCESS;
11437 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
11439 uint32_t cntr_array_0;
11440 TALLOC_CTX *_mem_save_array_0;
11441 if (ndr_flags & NDR_SCALARS) {
11442 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11443 NDR_CHECK(ndr_pull_align(ndr, 8));
11444 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11445 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11446 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11447 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11448 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11449 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11450 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11452 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11454 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11456 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11458 if (ndr_flags & NDR_BUFFERS) {
11459 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11460 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11461 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11462 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11464 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11466 return NDR_ERR_SUCCESS;
11469 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
11471 uint32_t cntr_array_0;
11472 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
11474 ndr_print_uint32(ndr, "count", r->count);
11475 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11476 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11478 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11480 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11481 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
11489 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
11491 if (ndr_flags & NDR_SCALARS) {
11492 NDR_CHECK(ndr_push_align(ndr, 8));
11493 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11494 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11495 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11496 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11497 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11498 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11499 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11500 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11502 if (ndr_flags & NDR_BUFFERS) {
11503 if (r->attribute_name) {
11504 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11505 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11506 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11507 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11509 if (r->originating_dsa_dn) {
11510 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11511 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11512 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11513 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));
11516 return NDR_ERR_SUCCESS;
11519 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
11521 uint32_t _ptr_attribute_name;
11522 TALLOC_CTX *_mem_save_attribute_name_0;
11523 uint32_t _ptr_originating_dsa_dn;
11524 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11525 if (ndr_flags & NDR_SCALARS) {
11526 NDR_CHECK(ndr_pull_align(ndr, 8));
11527 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11528 if (_ptr_attribute_name) {
11529 NDR_PULL_ALLOC(ndr, r->attribute_name);
11531 r->attribute_name = NULL;
11533 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11534 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11535 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11536 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11537 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11538 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11539 if (_ptr_originating_dsa_dn) {
11540 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11542 r->originating_dsa_dn = NULL;
11544 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11546 if (ndr_flags & NDR_BUFFERS) {
11547 if (r->attribute_name) {
11548 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11549 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11550 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11551 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11552 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11553 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));
11555 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11556 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11557 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11559 if (r->originating_dsa_dn) {
11560 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11561 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11562 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11563 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11564 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11565 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));
11567 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11568 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));
11569 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11572 return NDR_ERR_SUCCESS;
11575 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
11577 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
11579 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11581 if (r->attribute_name) {
11582 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11585 ndr_print_uint32(ndr, "version", r->version);
11586 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11587 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11588 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11589 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11590 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11592 if (r->originating_dsa_dn) {
11593 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11599 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11601 uint32_t cntr_array_0;
11602 if (ndr_flags & NDR_SCALARS) {
11603 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11604 NDR_CHECK(ndr_push_align(ndr, 8));
11605 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11606 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11607 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11608 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11610 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11612 if (ndr_flags & NDR_BUFFERS) {
11613 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11614 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11617 return NDR_ERR_SUCCESS;
11620 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11622 uint32_t cntr_array_0;
11623 TALLOC_CTX *_mem_save_array_0;
11624 if (ndr_flags & NDR_SCALARS) {
11625 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11626 NDR_CHECK(ndr_pull_align(ndr, 8));
11627 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11628 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11629 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11630 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11631 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11632 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11633 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11635 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11637 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11639 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11641 if (ndr_flags & NDR_BUFFERS) {
11642 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11643 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11644 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11645 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11647 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11649 return NDR_ERR_SUCCESS;
11652 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11654 uint32_t cntr_array_0;
11655 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
11657 ndr_print_uint32(ndr, "count", r->count);
11658 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11659 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11661 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11663 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11664 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
11672 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11674 if (ndr_flags & NDR_SCALARS) {
11675 NDR_CHECK(ndr_push_align(ndr, 8));
11676 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11677 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11678 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11679 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11680 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11681 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11682 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11683 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11684 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11685 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11686 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11687 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11688 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11690 if (ndr_flags & NDR_BUFFERS) {
11691 if (r->attribute_name) {
11692 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11693 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11694 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11695 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11697 if (r->object_dn) {
11698 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11699 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11700 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11701 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11704 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11706 if (r->originating_dsa_dn) {
11707 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11708 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11709 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11710 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));
11713 return NDR_ERR_SUCCESS;
11716 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
11718 uint32_t _ptr_attribute_name;
11719 TALLOC_CTX *_mem_save_attribute_name_0;
11720 uint32_t _ptr_object_dn;
11721 TALLOC_CTX *_mem_save_object_dn_0;
11722 uint32_t _ptr_binary;
11723 TALLOC_CTX *_mem_save_binary_0;
11724 uint32_t _ptr_originating_dsa_dn;
11725 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11726 if (ndr_flags & NDR_SCALARS) {
11727 NDR_CHECK(ndr_pull_align(ndr, 8));
11728 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11729 if (_ptr_attribute_name) {
11730 NDR_PULL_ALLOC(ndr, r->attribute_name);
11732 r->attribute_name = NULL;
11734 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11735 if (_ptr_object_dn) {
11736 NDR_PULL_ALLOC(ndr, r->object_dn);
11738 r->object_dn = NULL;
11740 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11741 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11743 NDR_PULL_ALLOC(ndr, r->binary);
11747 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11748 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11749 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11750 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11751 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11752 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11753 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11754 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11755 if (_ptr_originating_dsa_dn) {
11756 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11758 r->originating_dsa_dn = NULL;
11760 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11762 if (ndr_flags & NDR_BUFFERS) {
11763 if (r->attribute_name) {
11764 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11765 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11766 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11767 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11768 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11769 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));
11771 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11772 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11773 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11775 if (r->object_dn) {
11776 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11777 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11778 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11779 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11780 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11781 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));
11783 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11784 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11785 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11788 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11789 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11790 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11791 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11793 if (r->originating_dsa_dn) {
11794 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11795 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11796 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11797 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11798 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11799 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));
11801 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11802 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));
11803 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11806 return NDR_ERR_SUCCESS;
11809 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11811 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
11813 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11815 if (r->attribute_name) {
11816 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11819 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11821 if (r->object_dn) {
11822 ndr_print_string(ndr, "object_dn", r->object_dn);
11825 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);
11826 ndr_print_ptr(ndr, "binary", r->binary);
11829 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11832 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11833 ndr_print_NTTIME(ndr, "created", r->created);
11834 ndr_print_uint32(ndr, "version", r->version);
11835 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11836 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11837 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11838 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11839 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11841 if (r->originating_dsa_dn) {
11842 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11848 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11850 uint32_t cntr_array_0;
11851 if (ndr_flags & NDR_SCALARS) {
11852 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11853 NDR_CHECK(ndr_push_align(ndr, 8));
11854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11855 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11856 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11857 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11859 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11861 if (ndr_flags & NDR_BUFFERS) {
11862 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11863 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11866 return NDR_ERR_SUCCESS;
11869 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11871 uint32_t cntr_array_0;
11872 TALLOC_CTX *_mem_save_array_0;
11873 if (ndr_flags & NDR_SCALARS) {
11874 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11875 NDR_CHECK(ndr_pull_align(ndr, 8));
11876 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11877 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11878 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11879 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11880 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11881 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11882 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11884 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11886 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11888 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11890 if (ndr_flags & NDR_BUFFERS) {
11891 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11892 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11893 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11894 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11896 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11898 return NDR_ERR_SUCCESS;
11901 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11903 uint32_t cntr_array_0;
11904 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11906 ndr_print_uint32(ndr, "count", r->count);
11907 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11908 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11910 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11912 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11913 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
11921 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
11923 if (ndr_flags & NDR_SCALARS) {
11924 NDR_CHECK(ndr_push_align(ndr, 8));
11925 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
11926 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11927 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11928 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11929 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
11931 uint32_t _flags_save_ipv4address = ndr->flags;
11932 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11933 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
11934 ndr->flags = _flags_save_ipv4address;
11936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11937 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11939 if (ndr_flags & NDR_BUFFERS) {
11941 return NDR_ERR_SUCCESS;
11944 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
11946 if (ndr_flags & NDR_SCALARS) {
11947 NDR_CHECK(ndr_pull_align(ndr, 8));
11948 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
11949 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11950 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11951 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11952 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
11954 uint32_t _flags_save_ipv4address = ndr->flags;
11955 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11956 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
11957 ndr->flags = _flags_save_ipv4address;
11959 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11960 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11962 if (ndr_flags & NDR_BUFFERS) {
11964 return NDR_ERR_SUCCESS;
11967 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
11969 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
11971 ndr_print_hyper(ndr, "u1", r->u1);
11972 ndr_print_uint32(ndr, "u2", r->u2);
11973 ndr_print_uint32(ndr, "u3", r->u3);
11974 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
11975 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
11976 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
11977 ndr_print_uint32(ndr, "u5", r->u5);
11981 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
11983 uint32_t cntr_array_0;
11984 if (ndr_flags & NDR_SCALARS) {
11985 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11986 NDR_CHECK(ndr_push_align(ndr, 8));
11987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11988 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11989 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11990 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11992 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11994 if (ndr_flags & NDR_BUFFERS) {
11996 return NDR_ERR_SUCCESS;
11999 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
12001 uint32_t cntr_array_0;
12002 TALLOC_CTX *_mem_save_array_0;
12003 if (ndr_flags & NDR_SCALARS) {
12004 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12005 NDR_CHECK(ndr_pull_align(ndr, 8));
12006 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12007 if (r->count > 10000) {
12008 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12010 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12011 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
12012 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12013 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12014 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12015 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12017 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12019 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12021 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12023 if (ndr_flags & NDR_BUFFERS) {
12025 return NDR_ERR_SUCCESS;
12028 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
12030 uint32_t cntr_array_0;
12031 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
12033 ndr_print_uint32(ndr, "count", r->count);
12034 ndr_print_uint32(ndr, "reserved", r->reserved);
12035 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12037 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12039 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12040 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
12048 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
12050 if (ndr_flags & NDR_SCALARS) {
12051 NDR_CHECK(ndr_push_align(ndr, 8));
12052 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
12053 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
12054 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
12055 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
12056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
12057 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
12058 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
12059 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
12060 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12062 if (ndr_flags & NDR_BUFFERS) {
12064 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
12065 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12066 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
12067 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12070 return NDR_ERR_SUCCESS;
12073 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
12075 uint32_t _ptr_str1;
12076 TALLOC_CTX *_mem_save_str1_0;
12077 if (ndr_flags & NDR_SCALARS) {
12078 NDR_CHECK(ndr_pull_align(ndr, 8));
12079 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
12081 NDR_PULL_ALLOC(ndr, r->str1);
12085 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
12086 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
12087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
12088 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
12089 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
12090 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
12091 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
12092 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12094 if (ndr_flags & NDR_BUFFERS) {
12096 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
12097 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
12098 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
12099 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
12100 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
12101 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));
12103 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
12104 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
12105 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
12108 return NDR_ERR_SUCCESS;
12111 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
12113 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
12115 ndr_print_ptr(ndr, "str1", r->str1);
12118 ndr_print_string(ndr, "str1", r->str1);
12121 ndr_print_uint32(ndr, "u1", r->u1);
12122 ndr_print_uint32(ndr, "u2", r->u2);
12123 ndr_print_uint32(ndr, "u3", r->u3);
12124 ndr_print_uint32(ndr, "u4", r->u4);
12125 ndr_print_uint32(ndr, "u5", r->u5);
12126 ndr_print_hyper(ndr, "u6", r->u6);
12127 ndr_print_uint32(ndr, "u7", r->u7);
12131 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
12133 uint32_t cntr_array_0;
12134 if (ndr_flags & NDR_SCALARS) {
12135 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12136 NDR_CHECK(ndr_push_align(ndr, 8));
12137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12138 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
12139 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12140 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12142 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12144 if (ndr_flags & NDR_BUFFERS) {
12145 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12146 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12149 return NDR_ERR_SUCCESS;
12152 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
12154 uint32_t cntr_array_0;
12155 TALLOC_CTX *_mem_save_array_0;
12156 if (ndr_flags & NDR_SCALARS) {
12157 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12158 NDR_CHECK(ndr_pull_align(ndr, 8));
12159 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12160 if (r->count > 256) {
12161 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12163 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12164 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
12165 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12166 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12167 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12168 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12170 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12172 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12174 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12176 if (ndr_flags & NDR_BUFFERS) {
12177 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12178 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12179 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12180 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12182 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12184 return NDR_ERR_SUCCESS;
12187 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
12189 uint32_t cntr_array_0;
12190 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
12192 ndr_print_uint32(ndr, "count", r->count);
12193 ndr_print_uint32(ndr, "reserved", r->reserved);
12194 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12196 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12198 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12199 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
12207 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
12209 if (ndr_flags & NDR_SCALARS) {
12210 int level = ndr_push_get_switch_value(ndr, r);
12211 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
12212 NDR_CHECK(ndr_push_union_align(ndr, 5));
12214 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12215 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
12218 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12219 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
12222 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12223 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
12226 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12227 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
12230 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12231 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
12234 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12235 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
12238 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12239 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
12242 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12243 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
12246 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12247 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
12250 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12251 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
12254 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12255 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
12258 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
12259 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours02));
12262 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12263 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connections04));
12266 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12267 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors05));
12270 case DRSUAPI_DS_REPLICA_INFO_06: {
12271 NDR_CHECK(ndr_push_unique_ptr(ndr, r->i06));
12275 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12278 if (ndr_flags & NDR_BUFFERS) {
12279 int level = ndr_push_get_switch_value(ndr, r);
12281 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12282 if (r->neighbours) {
12283 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12287 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12289 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12293 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12294 if (r->objmetadata) {
12295 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12299 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12300 if (r->connectfailures) {
12301 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12305 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12306 if (r->linkfailures) {
12307 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12311 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12312 if (r->pendingops) {
12313 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12317 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12318 if (r->attrvalmetadata) {
12319 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12323 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12325 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12329 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12331 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12335 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12336 if (r->objmetadata2) {
12337 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12341 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12342 if (r->attrvalmetadata2) {
12343 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12347 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12348 if (r->neighbours02) {
12349 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12353 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12354 if (r->connections04) {
12355 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12359 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12360 if (r->cursors05) {
12361 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12365 case DRSUAPI_DS_REPLICA_INFO_06:
12367 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12372 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12375 return NDR_ERR_SUCCESS;
12378 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
12382 TALLOC_CTX *_mem_save_neighbours_0;
12383 TALLOC_CTX *_mem_save_cursors_0;
12384 TALLOC_CTX *_mem_save_objmetadata_0;
12385 TALLOC_CTX *_mem_save_connectfailures_0;
12386 TALLOC_CTX *_mem_save_linkfailures_0;
12387 TALLOC_CTX *_mem_save_pendingops_0;
12388 TALLOC_CTX *_mem_save_attrvalmetadata_0;
12389 TALLOC_CTX *_mem_save_cursors2_0;
12390 TALLOC_CTX *_mem_save_cursors3_0;
12391 TALLOC_CTX *_mem_save_objmetadata2_0;
12392 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
12393 TALLOC_CTX *_mem_save_neighbours02_0;
12394 TALLOC_CTX *_mem_save_connections04_0;
12395 TALLOC_CTX *_mem_save_cursors05_0;
12396 TALLOC_CTX *_mem_save_i06_0;
12397 level = ndr_pull_get_switch_value(ndr, r);
12398 if (ndr_flags & NDR_SCALARS) {
12399 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12400 if (_level != level) {
12401 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12403 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12405 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12406 uint32_t _ptr_neighbours;
12407 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
12408 if (_ptr_neighbours) {
12409 NDR_PULL_ALLOC(ndr, r->neighbours);
12411 r->neighbours = NULL;
12415 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12416 uint32_t _ptr_cursors;
12417 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
12418 if (_ptr_cursors) {
12419 NDR_PULL_ALLOC(ndr, r->cursors);
12425 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12426 uint32_t _ptr_objmetadata;
12427 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
12428 if (_ptr_objmetadata) {
12429 NDR_PULL_ALLOC(ndr, r->objmetadata);
12431 r->objmetadata = NULL;
12435 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12436 uint32_t _ptr_connectfailures;
12437 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
12438 if (_ptr_connectfailures) {
12439 NDR_PULL_ALLOC(ndr, r->connectfailures);
12441 r->connectfailures = NULL;
12445 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12446 uint32_t _ptr_linkfailures;
12447 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
12448 if (_ptr_linkfailures) {
12449 NDR_PULL_ALLOC(ndr, r->linkfailures);
12451 r->linkfailures = NULL;
12455 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12456 uint32_t _ptr_pendingops;
12457 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
12458 if (_ptr_pendingops) {
12459 NDR_PULL_ALLOC(ndr, r->pendingops);
12461 r->pendingops = NULL;
12465 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12466 uint32_t _ptr_attrvalmetadata;
12467 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
12468 if (_ptr_attrvalmetadata) {
12469 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
12471 r->attrvalmetadata = NULL;
12475 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12476 uint32_t _ptr_cursors2;
12477 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
12478 if (_ptr_cursors2) {
12479 NDR_PULL_ALLOC(ndr, r->cursors2);
12481 r->cursors2 = NULL;
12485 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12486 uint32_t _ptr_cursors3;
12487 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
12488 if (_ptr_cursors3) {
12489 NDR_PULL_ALLOC(ndr, r->cursors3);
12491 r->cursors3 = NULL;
12495 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12496 uint32_t _ptr_objmetadata2;
12497 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
12498 if (_ptr_objmetadata2) {
12499 NDR_PULL_ALLOC(ndr, r->objmetadata2);
12501 r->objmetadata2 = NULL;
12505 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12506 uint32_t _ptr_attrvalmetadata2;
12507 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
12508 if (_ptr_attrvalmetadata2) {
12509 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
12511 r->attrvalmetadata2 = NULL;
12515 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
12516 uint32_t _ptr_neighbours02;
12517 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours02));
12518 if (_ptr_neighbours02) {
12519 NDR_PULL_ALLOC(ndr, r->neighbours02);
12521 r->neighbours02 = NULL;
12525 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12526 uint32_t _ptr_connections04;
12527 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connections04));
12528 if (_ptr_connections04) {
12529 NDR_PULL_ALLOC(ndr, r->connections04);
12531 r->connections04 = NULL;
12535 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12536 uint32_t _ptr_cursors05;
12537 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors05));
12538 if (_ptr_cursors05) {
12539 NDR_PULL_ALLOC(ndr, r->cursors05);
12541 r->cursors05 = NULL;
12545 case DRSUAPI_DS_REPLICA_INFO_06: {
12547 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_i06));
12549 NDR_PULL_ALLOC(ndr, r->i06);
12556 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12559 if (ndr_flags & NDR_BUFFERS) {
12561 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12562 if (r->neighbours) {
12563 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
12564 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
12565 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12566 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
12570 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12572 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
12573 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
12574 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
12579 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12580 if (r->objmetadata) {
12581 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12582 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
12583 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12584 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
12588 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12589 if (r->connectfailures) {
12590 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12591 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
12592 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12593 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
12597 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12598 if (r->linkfailures) {
12599 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12600 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
12601 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12602 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
12606 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12607 if (r->pendingops) {
12608 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
12609 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
12610 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12611 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
12615 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12616 if (r->attrvalmetadata) {
12617 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12618 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
12619 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
12624 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12626 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12627 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
12628 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12629 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
12633 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12635 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12636 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
12637 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12638 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
12642 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12643 if (r->objmetadata2) {
12644 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12645 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
12646 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12647 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
12651 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12652 if (r->attrvalmetadata2) {
12653 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12654 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
12655 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12656 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
12660 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12661 if (r->neighbours02) {
12662 _mem_save_neighbours02_0 = NDR_PULL_GET_MEM_CTX(ndr);
12663 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours02, 0);
12664 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12665 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours02_0, 0);
12669 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12670 if (r->connections04) {
12671 _mem_save_connections04_0 = NDR_PULL_GET_MEM_CTX(ndr);
12672 NDR_PULL_SET_MEM_CTX(ndr, r->connections04, 0);
12673 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12674 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connections04_0, 0);
12678 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12679 if (r->cursors05) {
12680 _mem_save_cursors05_0 = NDR_PULL_GET_MEM_CTX(ndr);
12681 NDR_PULL_SET_MEM_CTX(ndr, r->cursors05, 0);
12682 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12683 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors05_0, 0);
12687 case DRSUAPI_DS_REPLICA_INFO_06:
12689 _mem_save_i06_0 = NDR_PULL_GET_MEM_CTX(ndr);
12690 NDR_PULL_SET_MEM_CTX(ndr, r->i06, 0);
12691 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12692 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_i06_0, 0);
12697 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12700 return NDR_ERR_SUCCESS;
12703 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
12706 level = ndr_print_get_switch_value(ndr, r);
12707 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
12709 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12710 ndr_print_ptr(ndr, "neighbours", r->neighbours);
12712 if (r->neighbours) {
12713 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
12718 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12719 ndr_print_ptr(ndr, "cursors", r->cursors);
12722 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
12727 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12728 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
12730 if (r->objmetadata) {
12731 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
12736 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12737 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
12739 if (r->connectfailures) {
12740 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
12745 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12746 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
12748 if (r->linkfailures) {
12749 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
12754 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12755 ndr_print_ptr(ndr, "pendingops", r->pendingops);
12757 if (r->pendingops) {
12758 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
12763 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12764 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
12766 if (r->attrvalmetadata) {
12767 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
12772 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12773 ndr_print_ptr(ndr, "cursors2", r->cursors2);
12776 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
12781 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12782 ndr_print_ptr(ndr, "cursors3", r->cursors3);
12785 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
12790 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12791 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
12793 if (r->objmetadata2) {
12794 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
12799 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12800 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12802 if (r->attrvalmetadata2) {
12803 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12808 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12809 ndr_print_ptr(ndr, "neighbours02", r->neighbours02);
12811 if (r->neighbours02) {
12812 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours02", r->neighbours02);
12817 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12818 ndr_print_ptr(ndr, "connections04", r->connections04);
12820 if (r->connections04) {
12821 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "connections04", r->connections04);
12826 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12827 ndr_print_ptr(ndr, "cursors05", r->cursors05);
12829 if (r->cursors05) {
12830 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "cursors05", r->cursors05);
12835 case DRSUAPI_DS_REPLICA_INFO_06:
12836 ndr_print_ptr(ndr, "i06", r->i06);
12839 ndr_print_drsuapi_DsReplica06Ctr(ndr, "i06", r->i06);
12845 ndr_print_bad_level(ndr, name, level);
12849 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
12851 if (ndr_flags & NDR_SCALARS) {
12852 int level = ndr_push_get_switch_value(ndr, r);
12853 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12854 NDR_CHECK(ndr_push_union_align(ndr, 5));
12857 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12861 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12864 if (ndr_flags & NDR_BUFFERS) {
12865 int level = ndr_push_get_switch_value(ndr, r);
12868 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12872 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12875 return NDR_ERR_SUCCESS;
12878 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
12882 level = ndr_pull_get_switch_value(ndr, r);
12883 if (ndr_flags & NDR_SCALARS) {
12884 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12885 if (_level != level) {
12886 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12888 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12891 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12895 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12898 if (ndr_flags & NDR_BUFFERS) {
12901 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12905 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12908 return NDR_ERR_SUCCESS;
12911 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
12914 level = ndr_print_get_switch_value(ndr, r);
12915 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
12918 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
12922 ndr_print_bad_level(ndr, name, level);
12926 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
12928 uint32_t cntr_req_array_1;
12929 if (ndr_flags & NDR_SCALARS) {
12930 NDR_CHECK(ndr_push_align(ndr, 5));
12931 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12932 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
12933 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12935 if (ndr_flags & NDR_BUFFERS) {
12936 if (r->req_array) {
12937 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
12938 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12939 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
12941 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12942 if (r->req_array[cntr_req_array_1]) {
12943 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12948 return NDR_ERR_SUCCESS;
12951 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
12953 uint32_t _ptr_req_array;
12954 uint32_t cntr_req_array_1;
12955 TALLOC_CTX *_mem_save_req_array_0;
12956 TALLOC_CTX *_mem_save_req_array_1;
12957 TALLOC_CTX *_mem_save_req_array_2;
12958 if (ndr_flags & NDR_SCALARS) {
12959 NDR_CHECK(ndr_pull_align(ndr, 5));
12960 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12961 if (r->num_req < 1 || r->num_req > 10000) {
12962 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12964 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12965 if (_ptr_req_array) {
12966 NDR_PULL_ALLOC(ndr, r->req_array);
12968 r->req_array = NULL;
12970 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12972 if (ndr_flags & NDR_BUFFERS) {
12973 if (r->req_array) {
12974 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12975 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12976 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
12977 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
12978 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12979 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12980 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12981 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12982 if (_ptr_req_array) {
12983 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
12985 r->req_array[cntr_req_array_1] = NULL;
12988 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12989 if (r->req_array[cntr_req_array_1]) {
12990 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
12991 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
12992 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12993 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
12996 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
12997 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
12999 if (r->req_array) {
13000 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
13003 return NDR_ERR_SUCCESS;
13006 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
13008 uint32_t cntr_req_array_1;
13009 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
13011 ndr_print_uint32(ndr, "num_req", r->num_req);
13012 ndr_print_ptr(ndr, "req_array", r->req_array);
13014 if (r->req_array) {
13015 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
13017 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
13019 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
13020 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
13022 if (r->req_array[cntr_req_array_1]) {
13023 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
13035 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
13037 if (ndr_flags & NDR_SCALARS) {
13038 int level = ndr_push_get_switch_value(ndr, r);
13039 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13040 NDR_CHECK(ndr_push_union_align(ndr, 5));
13043 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
13047 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13050 if (ndr_flags & NDR_BUFFERS) {
13051 int level = ndr_push_get_switch_value(ndr, r);
13054 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
13058 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13061 return NDR_ERR_SUCCESS;
13064 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
13068 level = ndr_pull_get_switch_value(ndr, r);
13069 if (ndr_flags & NDR_SCALARS) {
13070 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13071 if (_level != level) {
13072 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13074 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13077 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
13081 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13084 if (ndr_flags & NDR_BUFFERS) {
13087 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
13091 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13094 return NDR_ERR_SUCCESS;
13097 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
13100 level = ndr_print_get_switch_value(ndr, r);
13101 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
13104 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
13108 ndr_print_bad_level(ndr, name, level);
13112 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
13114 if (ndr_flags & NDR_SCALARS) {
13115 NDR_CHECK(ndr_push_align(ndr, 4));
13116 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
13117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
13118 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
13120 if (ndr_flags & NDR_BUFFERS) {
13122 return NDR_ERR_SUCCESS;
13125 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
13127 if (ndr_flags & NDR_SCALARS) {
13128 NDR_CHECK(ndr_pull_align(ndr, 4));
13129 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
13130 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
13131 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
13133 if (ndr_flags & NDR_BUFFERS) {
13135 return NDR_ERR_SUCCESS;
13138 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
13140 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
13142 ndr_print_WERROR(ndr, "error_code", r->error_code);
13143 ndr_print_uint32(ndr, "site_cost", r->site_cost);
13147 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
13149 uint32_t cntr_info_1;
13150 if (ndr_flags & NDR_SCALARS) {
13151 NDR_CHECK(ndr_push_align(ndr, 5));
13152 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
13153 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
13154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
13155 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13157 if (ndr_flags & NDR_BUFFERS) {
13159 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
13160 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13161 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13165 return NDR_ERR_SUCCESS;
13168 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
13170 uint32_t _ptr_info;
13171 uint32_t cntr_info_1;
13172 TALLOC_CTX *_mem_save_info_0;
13173 TALLOC_CTX *_mem_save_info_1;
13174 if (ndr_flags & NDR_SCALARS) {
13175 NDR_CHECK(ndr_pull_align(ndr, 5));
13176 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
13177 if (r->num_info > 10000) {
13178 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13180 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13182 NDR_PULL_ALLOC(ndr, r->info);
13186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
13187 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13189 if (ndr_flags & NDR_BUFFERS) {
13191 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13192 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13193 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
13194 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
13195 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13196 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13197 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13198 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13201 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
13204 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
13207 return NDR_ERR_SUCCESS;
13210 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
13212 uint32_t cntr_info_1;
13213 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
13215 ndr_print_uint32(ndr, "num_info", r->num_info);
13216 ndr_print_ptr(ndr, "info", r->info);
13219 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
13221 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
13223 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
13224 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
13231 ndr_print_uint32(ndr, "unknown", r->unknown);
13235 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
13237 if (ndr_flags & NDR_SCALARS) {
13238 int level = ndr_push_get_switch_value(ndr, r);
13239 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13240 NDR_CHECK(ndr_push_union_align(ndr, 5));
13243 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13247 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13250 if (ndr_flags & NDR_BUFFERS) {
13251 int level = ndr_push_get_switch_value(ndr, r);
13254 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13258 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13261 return NDR_ERR_SUCCESS;
13264 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
13268 level = ndr_pull_get_switch_value(ndr, r);
13269 if (ndr_flags & NDR_SCALARS) {
13270 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13271 if (_level != level) {
13272 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13274 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13277 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13281 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13284 if (ndr_flags & NDR_BUFFERS) {
13287 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13291 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13294 return NDR_ERR_SUCCESS;
13297 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
13300 level = ndr_print_get_switch_value(ndr, r);
13301 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
13304 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
13308 ndr_print_bad_level(ndr, name, level);
13312 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
13314 uint32_t cntr_site_to_1;
13315 if (ndr_flags & NDR_SCALARS) {
13316 NDR_CHECK(ndr_push_align(ndr, 5));
13317 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
13318 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
13319 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
13320 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
13321 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13323 if (ndr_flags & NDR_BUFFERS) {
13324 if (r->site_from) {
13325 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13326 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13327 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13328 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13331 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13332 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13333 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
13335 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13336 if (r->site_to[cntr_site_to_1]) {
13337 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13338 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13339 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13340 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));
13345 return NDR_ERR_SUCCESS;
13348 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
13350 uint32_t _ptr_site_from;
13351 TALLOC_CTX *_mem_save_site_from_0;
13352 uint32_t _ptr_site_to;
13353 uint32_t cntr_site_to_1;
13354 TALLOC_CTX *_mem_save_site_to_0;
13355 TALLOC_CTX *_mem_save_site_to_1;
13356 TALLOC_CTX *_mem_save_site_to_2;
13357 if (ndr_flags & NDR_SCALARS) {
13358 NDR_CHECK(ndr_pull_align(ndr, 5));
13359 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
13360 if (_ptr_site_from) {
13361 NDR_PULL_ALLOC(ndr, r->site_from);
13363 r->site_from = NULL;
13365 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13366 if (r->num_req < 1 || r->num_req > 10000) {
13367 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13369 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13370 if (_ptr_site_to) {
13371 NDR_PULL_ALLOC(ndr, r->site_to);
13375 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
13376 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13378 if (ndr_flags & NDR_BUFFERS) {
13379 if (r->site_from) {
13380 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
13381 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
13382 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
13383 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
13384 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
13385 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));
13387 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
13388 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
13389 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
13392 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
13393 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13394 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
13395 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
13396 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
13397 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13398 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13399 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13400 if (_ptr_site_to) {
13401 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
13403 r->site_to[cntr_site_to_1] = NULL;
13406 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13407 if (r->site_to[cntr_site_to_1]) {
13408 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
13409 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
13410 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
13411 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
13412 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])) {
13413 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]));
13415 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
13416 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));
13417 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
13420 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
13421 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
13424 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
13427 return NDR_ERR_SUCCESS;
13430 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
13432 uint32_t cntr_site_to_1;
13433 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
13435 ndr_print_ptr(ndr, "site_from", r->site_from);
13437 if (r->site_from) {
13438 ndr_print_string(ndr, "site_from", r->site_from);
13441 ndr_print_uint32(ndr, "num_req", r->num_req);
13442 ndr_print_ptr(ndr, "site_to", r->site_to);
13445 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
13447 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
13449 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
13450 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
13452 if (r->site_to[cntr_site_to_1]) {
13453 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
13462 ndr_print_uint32(ndr, "flags", r->flags);
13466 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
13468 if (ndr_flags & NDR_SCALARS) {
13469 int level = ndr_push_get_switch_value(ndr, r);
13470 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13471 NDR_CHECK(ndr_push_union_align(ndr, 5));
13474 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13478 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13481 if (ndr_flags & NDR_BUFFERS) {
13482 int level = ndr_push_get_switch_value(ndr, r);
13485 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13489 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13492 return NDR_ERR_SUCCESS;
13495 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
13499 level = ndr_pull_get_switch_value(ndr, r);
13500 if (ndr_flags & NDR_SCALARS) {
13501 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13502 if (_level != level) {
13503 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13505 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13508 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13512 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13515 if (ndr_flags & NDR_BUFFERS) {
13518 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13522 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13525 return NDR_ERR_SUCCESS;
13528 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
13531 level = ndr_print_get_switch_value(ndr, r);
13532 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
13535 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
13539 ndr_print_bad_level(ndr, name, level);
13543 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
13545 if (flags & NDR_IN) {
13546 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
13547 if (r->in.bind_guid) {
13548 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13550 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
13551 if (r->in.bind_info) {
13552 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13555 if (flags & NDR_OUT) {
13556 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
13557 if (r->out.bind_info) {
13558 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13560 if (r->out.bind_handle == NULL) {
13561 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13563 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13564 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13566 return NDR_ERR_SUCCESS;
13569 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
13571 uint32_t _ptr_bind_guid;
13572 uint32_t _ptr_bind_info;
13573 TALLOC_CTX *_mem_save_bind_guid_0;
13574 TALLOC_CTX *_mem_save_bind_info_0;
13575 TALLOC_CTX *_mem_save_bind_handle_0;
13576 if (flags & NDR_IN) {
13577 ZERO_STRUCT(r->out);
13579 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
13580 if (_ptr_bind_guid) {
13581 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
13583 r->in.bind_guid = NULL;
13585 if (r->in.bind_guid) {
13586 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13587 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
13588 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13589 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
13591 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13592 if (_ptr_bind_info) {
13593 NDR_PULL_ALLOC(ndr, r->in.bind_info);
13595 r->in.bind_info = NULL;
13597 if (r->in.bind_info) {
13598 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13599 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
13600 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13601 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13603 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13604 ZERO_STRUCTP(r->out.bind_handle);
13606 if (flags & NDR_OUT) {
13607 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13608 if (_ptr_bind_info) {
13609 NDR_PULL_ALLOC(ndr, r->out.bind_info);
13611 r->out.bind_info = NULL;
13613 if (r->out.bind_info) {
13614 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13615 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
13616 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13617 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13619 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13620 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13622 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13623 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13624 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13625 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13626 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13628 return NDR_ERR_SUCCESS;
13631 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
13633 ndr_print_struct(ndr, name, "drsuapi_DsBind");
13635 if (flags & NDR_SET_VALUES) {
13636 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13638 if (flags & NDR_IN) {
13639 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
13641 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
13643 if (r->in.bind_guid) {
13644 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
13647 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
13649 if (r->in.bind_info) {
13650 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
13655 if (flags & NDR_OUT) {
13656 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
13658 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
13660 if (r->out.bind_info) {
13661 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
13664 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13666 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13668 ndr_print_WERROR(ndr, "result", r->out.result);
13674 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
13676 if (flags & NDR_IN) {
13677 if (r->in.bind_handle == NULL) {
13678 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13680 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13682 if (flags & NDR_OUT) {
13683 if (r->out.bind_handle == NULL) {
13684 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13686 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13687 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13689 return NDR_ERR_SUCCESS;
13692 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
13694 TALLOC_CTX *_mem_save_bind_handle_0;
13695 if (flags & NDR_IN) {
13696 ZERO_STRUCT(r->out);
13698 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13699 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13701 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13702 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13703 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13704 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13705 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13706 *r->out.bind_handle = *r->in.bind_handle;
13708 if (flags & NDR_OUT) {
13709 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13710 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13712 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13713 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13714 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13715 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13716 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13718 return NDR_ERR_SUCCESS;
13721 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
13723 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
13725 if (flags & NDR_SET_VALUES) {
13726 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13728 if (flags & NDR_IN) {
13729 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
13731 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13733 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13737 if (flags & NDR_OUT) {
13738 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
13740 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13742 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13744 ndr_print_WERROR(ndr, "result", r->out.result);
13750 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
13752 if (flags & NDR_IN) {
13753 if (r->in.bind_handle == NULL) {
13754 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13756 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13757 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13758 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13759 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13761 if (flags & NDR_OUT) {
13762 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13764 return NDR_ERR_SUCCESS;
13767 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
13769 TALLOC_CTX *_mem_save_bind_handle_0;
13770 if (flags & NDR_IN) {
13771 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13772 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13774 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13775 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13776 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13777 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13778 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13779 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13780 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13782 if (flags & NDR_OUT) {
13783 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13785 return NDR_ERR_SUCCESS;
13788 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
13790 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
13792 if (flags & NDR_SET_VALUES) {
13793 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13795 if (flags & NDR_IN) {
13796 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
13798 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13800 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13802 ndr_print_int32(ndr, "level", r->in.level);
13803 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13804 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", &r->in.req);
13807 if (flags & NDR_OUT) {
13808 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
13810 ndr_print_WERROR(ndr, "result", r->out.result);
13816 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
13818 if (flags & NDR_IN) {
13819 if (r->in.bind_handle == NULL) {
13820 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13822 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13823 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13824 if (r->in.req == NULL) {
13825 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13827 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13828 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13830 if (flags & NDR_OUT) {
13831 if (r->out.level_out == NULL) {
13832 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13834 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13835 if (r->out.ctr == NULL) {
13836 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13838 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13839 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13840 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13842 return NDR_ERR_SUCCESS;
13845 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
13847 TALLOC_CTX *_mem_save_bind_handle_0;
13848 TALLOC_CTX *_mem_save_req_0;
13849 TALLOC_CTX *_mem_save_level_out_0;
13850 TALLOC_CTX *_mem_save_ctr_0;
13851 if (flags & NDR_IN) {
13852 ZERO_STRUCT(r->out);
13854 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13855 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13857 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13858 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13859 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13860 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13861 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13862 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13863 NDR_PULL_ALLOC(ndr, r->in.req);
13865 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13866 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13867 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13868 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13869 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13870 NDR_PULL_ALLOC(ndr, r->out.level_out);
13871 ZERO_STRUCTP(r->out.level_out);
13872 NDR_PULL_ALLOC(ndr, r->out.ctr);
13873 ZERO_STRUCTP(r->out.ctr);
13875 if (flags & NDR_OUT) {
13876 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13877 NDR_PULL_ALLOC(ndr, r->out.level_out);
13879 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13880 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13881 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13882 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13883 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13884 NDR_PULL_ALLOC(ndr, r->out.ctr);
13886 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13887 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13888 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13889 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13890 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13891 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13893 return NDR_ERR_SUCCESS;
13896 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
13898 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
13900 if (flags & NDR_SET_VALUES) {
13901 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13903 if (flags & NDR_IN) {
13904 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
13906 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13908 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13910 ndr_print_int32(ndr, "level", r->in.level);
13911 ndr_print_ptr(ndr, "req", r->in.req);
13913 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13914 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
13918 if (flags & NDR_OUT) {
13919 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
13921 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13923 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13925 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13927 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13928 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
13930 ndr_print_WERROR(ndr, "result", r->out.result);
13936 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13938 if (flags & NDR_IN) {
13939 if (r->in.bind_handle == NULL) {
13940 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13942 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13943 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13944 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13945 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13947 if (flags & NDR_OUT) {
13948 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13950 return NDR_ERR_SUCCESS;
13953 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
13955 TALLOC_CTX *_mem_save_bind_handle_0;
13956 if (flags & NDR_IN) {
13957 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13958 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13960 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13961 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13962 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13963 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13964 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13965 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13966 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13968 if (flags & NDR_OUT) {
13969 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13971 return NDR_ERR_SUCCESS;
13974 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13976 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
13978 if (flags & NDR_SET_VALUES) {
13979 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13981 if (flags & NDR_IN) {
13982 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
13984 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13986 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13988 ndr_print_int32(ndr, "level", r->in.level);
13989 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13990 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
13993 if (flags & NDR_OUT) {
13994 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
13996 ndr_print_WERROR(ndr, "result", r->out.result);
14002 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
14004 if (flags & NDR_IN) {
14005 if (r->in.bind_handle == NULL) {
14006 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14008 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14009 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14010 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14011 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14013 if (flags & NDR_OUT) {
14014 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14016 return NDR_ERR_SUCCESS;
14019 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
14021 TALLOC_CTX *_mem_save_bind_handle_0;
14022 if (flags & NDR_IN) {
14023 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14024 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14026 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14027 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14028 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14029 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14030 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14031 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14032 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14034 if (flags & NDR_OUT) {
14035 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14037 return NDR_ERR_SUCCESS;
14040 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
14042 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
14044 if (flags & NDR_SET_VALUES) {
14045 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14047 if (flags & NDR_IN) {
14048 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
14050 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14052 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14054 ndr_print_int32(ndr, "level", r->in.level);
14055 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14056 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
14059 if (flags & NDR_OUT) {
14060 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
14062 ndr_print_WERROR(ndr, "result", r->out.result);
14068 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
14070 if (flags & NDR_IN) {
14071 if (r->in.bind_handle == NULL) {
14072 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14074 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14075 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14076 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14077 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14079 if (flags & NDR_OUT) {
14080 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14082 return NDR_ERR_SUCCESS;
14085 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
14087 TALLOC_CTX *_mem_save_bind_handle_0;
14088 if (flags & NDR_IN) {
14089 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14090 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14092 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14093 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14094 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14095 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14096 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14097 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14098 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14100 if (flags & NDR_OUT) {
14101 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14103 return NDR_ERR_SUCCESS;
14106 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
14108 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
14110 if (flags & NDR_SET_VALUES) {
14111 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14113 if (flags & NDR_IN) {
14114 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
14116 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14118 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14120 ndr_print_int32(ndr, "level", r->in.level);
14121 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14122 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
14125 if (flags & NDR_OUT) {
14126 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
14128 ndr_print_WERROR(ndr, "result", r->out.result);
14134 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
14136 if (flags & NDR_IN) {
14137 if (r->in.bind_handle == NULL) {
14138 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14140 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14141 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14142 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14143 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14145 if (flags & NDR_OUT) {
14146 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14148 return NDR_ERR_SUCCESS;
14151 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
14153 TALLOC_CTX *_mem_save_bind_handle_0;
14154 if (flags & NDR_IN) {
14155 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14156 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14158 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14159 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14160 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14161 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14162 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14163 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14164 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14166 if (flags & NDR_OUT) {
14167 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14169 return NDR_ERR_SUCCESS;
14172 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
14174 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
14176 if (flags & NDR_SET_VALUES) {
14177 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14179 if (flags & NDR_IN) {
14180 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
14182 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14184 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14186 ndr_print_int32(ndr, "level", r->in.level);
14187 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14188 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
14191 if (flags & NDR_OUT) {
14192 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
14194 ndr_print_WERROR(ndr, "result", r->out.result);
14200 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14202 if (flags & NDR_IN) {
14204 if (flags & NDR_OUT) {
14205 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14207 return NDR_ERR_SUCCESS;
14210 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
14212 if (flags & NDR_IN) {
14214 if (flags & NDR_OUT) {
14215 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14217 return NDR_ERR_SUCCESS;
14220 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14222 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
14224 if (flags & NDR_SET_VALUES) {
14225 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14227 if (flags & NDR_IN) {
14228 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
14232 if (flags & NDR_OUT) {
14233 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
14235 ndr_print_WERROR(ndr, "result", r->out.result);
14241 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
14243 if (flags & NDR_IN) {
14244 if (r->in.bind_handle == NULL) {
14245 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14247 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14248 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14249 if (r->in.req == NULL) {
14250 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14252 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14253 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14255 if (flags & NDR_OUT) {
14256 if (r->out.level_out == NULL) {
14257 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14259 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14260 if (r->out.ctr == NULL) {
14261 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14263 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14264 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14265 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14267 return NDR_ERR_SUCCESS;
14270 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
14272 TALLOC_CTX *_mem_save_bind_handle_0;
14273 TALLOC_CTX *_mem_save_req_0;
14274 TALLOC_CTX *_mem_save_level_out_0;
14275 TALLOC_CTX *_mem_save_ctr_0;
14276 if (flags & NDR_IN) {
14277 ZERO_STRUCT(r->out);
14279 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14280 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14282 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14283 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14284 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14286 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14287 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14288 NDR_PULL_ALLOC(ndr, r->in.req);
14290 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14291 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14292 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14293 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14294 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14295 NDR_PULL_ALLOC(ndr, r->out.level_out);
14296 ZERO_STRUCTP(r->out.level_out);
14297 NDR_PULL_ALLOC(ndr, r->out.ctr);
14298 ZERO_STRUCTP(r->out.ctr);
14300 if (flags & NDR_OUT) {
14301 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14302 NDR_PULL_ALLOC(ndr, r->out.level_out);
14304 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14305 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14306 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14308 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14309 NDR_PULL_ALLOC(ndr, r->out.ctr);
14311 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14312 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14313 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14314 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14316 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14318 return NDR_ERR_SUCCESS;
14321 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
14323 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
14325 if (flags & NDR_SET_VALUES) {
14326 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14328 if (flags & NDR_IN) {
14329 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
14331 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14333 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14335 ndr_print_int32(ndr, "level", r->in.level);
14336 ndr_print_ptr(ndr, "req", r->in.req);
14338 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14339 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
14343 if (flags & NDR_OUT) {
14344 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
14346 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14348 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14350 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14352 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14353 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
14355 ndr_print_WERROR(ndr, "result", r->out.result);
14361 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14363 if (flags & NDR_IN) {
14365 if (flags & NDR_OUT) {
14366 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14368 return NDR_ERR_SUCCESS;
14371 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14373 if (flags & NDR_IN) {
14375 if (flags & NDR_OUT) {
14376 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14378 return NDR_ERR_SUCCESS;
14381 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14383 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
14385 if (flags & NDR_SET_VALUES) {
14386 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14388 if (flags & NDR_IN) {
14389 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14393 if (flags & NDR_OUT) {
14394 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14396 ndr_print_WERROR(ndr, "result", r->out.result);
14402 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14404 if (flags & NDR_IN) {
14405 if (r->in.bind_handle == NULL) {
14406 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14408 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14410 if (r->in.req == NULL) {
14411 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14413 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14414 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14416 if (flags & NDR_OUT) {
14417 if (r->out.level_out == NULL) {
14418 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14421 if (r->out.info == NULL) {
14422 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14424 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
14425 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14426 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14428 return NDR_ERR_SUCCESS;
14431 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
14433 TALLOC_CTX *_mem_save_bind_handle_0;
14434 TALLOC_CTX *_mem_save_req_0;
14435 TALLOC_CTX *_mem_save_level_out_0;
14436 TALLOC_CTX *_mem_save_info_0;
14437 if (flags & NDR_IN) {
14438 ZERO_STRUCT(r->out);
14440 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14441 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14443 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14444 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14445 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14446 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14447 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14448 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14449 NDR_PULL_ALLOC(ndr, r->in.req);
14451 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14452 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14453 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14454 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14455 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14456 NDR_PULL_ALLOC(ndr, r->out.level_out);
14457 ZERO_STRUCTP(r->out.level_out);
14458 NDR_PULL_ALLOC(ndr, r->out.info);
14459 ZERO_STRUCTP(r->out.info);
14461 if (flags & NDR_OUT) {
14462 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14463 NDR_PULL_ALLOC(ndr, r->out.level_out);
14465 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14466 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14468 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14469 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14470 NDR_PULL_ALLOC(ndr, r->out.info);
14472 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14473 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14474 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
14475 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14477 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14479 return NDR_ERR_SUCCESS;
14482 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14484 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
14486 if (flags & NDR_SET_VALUES) {
14487 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14489 if (flags & NDR_IN) {
14490 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
14492 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14494 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14496 ndr_print_uint32(ndr, "level", r->in.level);
14497 ndr_print_ptr(ndr, "req", r->in.req);
14499 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14500 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
14504 if (flags & NDR_OUT) {
14505 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
14507 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14509 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14511 ndr_print_ptr(ndr, "info", r->out.info);
14513 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
14514 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
14516 ndr_print_WERROR(ndr, "result", r->out.result);
14522 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
14524 if (flags & NDR_IN) {
14525 if (r->in.bind_handle == NULL) {
14526 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14528 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14529 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14530 if (r->in.req == NULL) {
14531 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14533 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14534 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14536 if (flags & NDR_OUT) {
14537 if (r->out.level_out == NULL) {
14538 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14540 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14541 if (r->out.ctr == NULL) {
14542 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14544 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14545 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14546 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14548 return NDR_ERR_SUCCESS;
14551 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
14553 TALLOC_CTX *_mem_save_bind_handle_0;
14554 TALLOC_CTX *_mem_save_req_0;
14555 TALLOC_CTX *_mem_save_level_out_0;
14556 TALLOC_CTX *_mem_save_ctr_0;
14557 if (flags & NDR_IN) {
14558 ZERO_STRUCT(r->out);
14560 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14561 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14563 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14564 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14565 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14566 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14567 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14568 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14569 NDR_PULL_ALLOC(ndr, r->in.req);
14571 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14572 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14573 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14574 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14576 NDR_PULL_ALLOC(ndr, r->out.level_out);
14577 ZERO_STRUCTP(r->out.level_out);
14578 NDR_PULL_ALLOC(ndr, r->out.ctr);
14579 ZERO_STRUCTP(r->out.ctr);
14581 if (flags & NDR_OUT) {
14582 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14583 NDR_PULL_ALLOC(ndr, r->out.level_out);
14585 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14586 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14587 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14588 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14589 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14590 NDR_PULL_ALLOC(ndr, r->out.ctr);
14592 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14593 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14594 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14595 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14596 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14597 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14599 return NDR_ERR_SUCCESS;
14602 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
14604 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
14606 if (flags & NDR_SET_VALUES) {
14607 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14609 if (flags & NDR_IN) {
14610 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
14612 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14614 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14616 ndr_print_int32(ndr, "level", r->in.level);
14617 ndr_print_ptr(ndr, "req", r->in.req);
14619 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14620 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
14624 if (flags & NDR_OUT) {
14625 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
14627 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14629 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14631 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14633 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14634 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
14636 ndr_print_WERROR(ndr, "result", r->out.result);
14642 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14644 if (flags & NDR_IN) {
14645 if (r->in.bind_handle == NULL) {
14646 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14648 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14649 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14650 if (r->in.req == NULL) {
14651 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14653 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14654 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14656 if (flags & NDR_OUT) {
14657 if (r->out.level_out == NULL) {
14658 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14660 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14661 if (r->out.res == NULL) {
14662 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14664 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14665 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14666 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14668 return NDR_ERR_SUCCESS;
14671 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
14673 TALLOC_CTX *_mem_save_bind_handle_0;
14674 TALLOC_CTX *_mem_save_req_0;
14675 TALLOC_CTX *_mem_save_level_out_0;
14676 TALLOC_CTX *_mem_save_res_0;
14677 if (flags & NDR_IN) {
14678 ZERO_STRUCT(r->out);
14680 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14681 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14683 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14684 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14685 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14686 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14687 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14688 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14689 NDR_PULL_ALLOC(ndr, r->in.req);
14691 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14692 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14693 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14694 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14695 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14696 NDR_PULL_ALLOC(ndr, r->out.level_out);
14697 ZERO_STRUCTP(r->out.level_out);
14698 NDR_PULL_ALLOC(ndr, r->out.res);
14699 ZERO_STRUCTP(r->out.res);
14701 if (flags & NDR_OUT) {
14702 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14703 NDR_PULL_ALLOC(ndr, r->out.level_out);
14705 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14706 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14707 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14708 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14709 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14710 NDR_PULL_ALLOC(ndr, r->out.res);
14712 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14713 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14714 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14715 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14716 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14717 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14719 return NDR_ERR_SUCCESS;
14722 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14724 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
14726 if (flags & NDR_SET_VALUES) {
14727 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14729 if (flags & NDR_IN) {
14730 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
14732 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14734 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14736 ndr_print_int32(ndr, "level", r->in.level);
14737 ndr_print_ptr(ndr, "req", r->in.req);
14739 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14740 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
14744 if (flags & NDR_OUT) {
14745 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
14747 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14749 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14751 ndr_print_ptr(ndr, "res", r->out.res);
14753 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14754 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
14756 ndr_print_WERROR(ndr, "result", r->out.result);
14762 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
14764 if (flags & NDR_IN) {
14765 if (r->in.bind_handle == NULL) {
14766 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14768 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14769 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14770 if (r->in.req == NULL) {
14771 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14773 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14774 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14776 if (flags & NDR_OUT) {
14777 if (r->out.level_out == NULL) {
14778 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14780 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14781 if (r->out.res == NULL) {
14782 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14784 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14785 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14786 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14788 return NDR_ERR_SUCCESS;
14791 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
14793 TALLOC_CTX *_mem_save_bind_handle_0;
14794 TALLOC_CTX *_mem_save_req_0;
14795 TALLOC_CTX *_mem_save_level_out_0;
14796 TALLOC_CTX *_mem_save_res_0;
14797 if (flags & NDR_IN) {
14798 ZERO_STRUCT(r->out);
14800 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14801 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14803 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14804 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14805 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14806 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14807 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14808 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14809 NDR_PULL_ALLOC(ndr, r->in.req);
14811 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14812 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14813 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14814 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14815 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14816 NDR_PULL_ALLOC(ndr, r->out.level_out);
14817 ZERO_STRUCTP(r->out.level_out);
14818 NDR_PULL_ALLOC(ndr, r->out.res);
14819 ZERO_STRUCTP(r->out.res);
14821 if (flags & NDR_OUT) {
14822 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14823 NDR_PULL_ALLOC(ndr, r->out.level_out);
14825 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14826 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14827 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14828 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14829 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14830 NDR_PULL_ALLOC(ndr, r->out.res);
14832 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14833 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14834 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14835 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14836 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14837 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14839 return NDR_ERR_SUCCESS;
14842 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
14844 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
14846 if (flags & NDR_SET_VALUES) {
14847 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14849 if (flags & NDR_IN) {
14850 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
14852 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14854 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14856 ndr_print_int32(ndr, "level", r->in.level);
14857 ndr_print_ptr(ndr, "req", r->in.req);
14859 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14860 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
14864 if (flags & NDR_OUT) {
14865 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
14867 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14869 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14871 ndr_print_ptr(ndr, "res", r->out.res);
14873 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14874 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
14876 ndr_print_WERROR(ndr, "result", r->out.result);
14882 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14884 if (flags & NDR_IN) {
14886 if (flags & NDR_OUT) {
14887 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14889 return NDR_ERR_SUCCESS;
14892 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14894 if (flags & NDR_IN) {
14896 if (flags & NDR_OUT) {
14897 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14899 return NDR_ERR_SUCCESS;
14902 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14904 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
14906 if (flags & NDR_SET_VALUES) {
14907 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14909 if (flags & NDR_IN) {
14910 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14914 if (flags & NDR_OUT) {
14915 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14917 ndr_print_WERROR(ndr, "result", r->out.result);
14923 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14925 if (flags & NDR_IN) {
14926 if (r->in.bind_handle == NULL) {
14927 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14929 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14930 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14931 if (r->in.req == NULL) {
14932 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14934 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14935 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14937 if (flags & NDR_OUT) {
14938 if (r->out.level_out == NULL) {
14939 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14941 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14942 if (r->out.ctr == NULL) {
14943 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14945 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14946 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14947 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14949 return NDR_ERR_SUCCESS;
14952 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
14954 TALLOC_CTX *_mem_save_bind_handle_0;
14955 TALLOC_CTX *_mem_save_req_0;
14956 TALLOC_CTX *_mem_save_level_out_0;
14957 TALLOC_CTX *_mem_save_ctr_0;
14958 if (flags & NDR_IN) {
14959 ZERO_STRUCT(r->out);
14961 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14962 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14964 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14965 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14966 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14967 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14968 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14969 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14970 NDR_PULL_ALLOC(ndr, r->in.req);
14972 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14973 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14974 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14975 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14976 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14977 NDR_PULL_ALLOC(ndr, r->out.level_out);
14978 ZERO_STRUCTP(r->out.level_out);
14979 NDR_PULL_ALLOC(ndr, r->out.ctr);
14980 ZERO_STRUCTP(r->out.ctr);
14982 if (flags & NDR_OUT) {
14983 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14984 NDR_PULL_ALLOC(ndr, r->out.level_out);
14986 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14987 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14988 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14989 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14990 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14991 NDR_PULL_ALLOC(ndr, r->out.ctr);
14993 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14994 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14995 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14996 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14997 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14998 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15000 return NDR_ERR_SUCCESS;
15003 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
15005 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
15007 if (flags & NDR_SET_VALUES) {
15008 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15010 if (flags & NDR_IN) {
15011 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
15013 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15015 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15017 ndr_print_int32(ndr, "level", r->in.level);
15018 ndr_print_ptr(ndr, "req", r->in.req);
15020 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15021 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
15025 if (flags & NDR_OUT) {
15026 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
15028 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15030 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15032 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15034 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15035 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
15037 ndr_print_WERROR(ndr, "result", r->out.result);
15043 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
15045 if (flags & NDR_IN) {
15046 if (r->in.bind_handle == NULL) {
15047 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15049 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15050 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15051 if (r->in.req == NULL) {
15052 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15054 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15055 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15057 if (flags & NDR_OUT) {
15058 if (r->out.level_out == NULL) {
15059 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15061 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15062 if (r->out.ctr == NULL) {
15063 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15065 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15066 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15067 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15069 return NDR_ERR_SUCCESS;
15072 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
15074 TALLOC_CTX *_mem_save_bind_handle_0;
15075 TALLOC_CTX *_mem_save_req_0;
15076 TALLOC_CTX *_mem_save_level_out_0;
15077 TALLOC_CTX *_mem_save_ctr_0;
15078 if (flags & NDR_IN) {
15079 ZERO_STRUCT(r->out);
15081 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15082 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15084 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15085 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15086 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15087 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15088 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15089 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15090 NDR_PULL_ALLOC(ndr, r->in.req);
15092 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15093 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15094 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15095 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15096 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15097 NDR_PULL_ALLOC(ndr, r->out.level_out);
15098 ZERO_STRUCTP(r->out.level_out);
15099 NDR_PULL_ALLOC(ndr, r->out.ctr);
15100 ZERO_STRUCTP(r->out.ctr);
15102 if (flags & NDR_OUT) {
15103 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15104 NDR_PULL_ALLOC(ndr, r->out.level_out);
15106 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15107 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15108 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15109 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15110 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15111 NDR_PULL_ALLOC(ndr, r->out.ctr);
15113 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15114 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15115 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15116 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15117 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15118 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15120 return NDR_ERR_SUCCESS;
15123 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
15125 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
15127 if (flags & NDR_SET_VALUES) {
15128 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15130 if (flags & NDR_IN) {
15131 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
15133 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15135 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15137 ndr_print_int32(ndr, "level", r->in.level);
15138 ndr_print_ptr(ndr, "req", r->in.req);
15140 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15141 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
15145 if (flags & NDR_OUT) {
15146 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
15148 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15150 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15152 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15154 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15155 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
15157 ndr_print_WERROR(ndr, "result", r->out.result);
15163 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
15165 if (flags & NDR_IN) {
15166 if (r->in.bind_handle == NULL) {
15167 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15169 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15170 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15171 if (r->in.req == NULL) {
15172 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15174 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15175 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15177 if (flags & NDR_OUT) {
15178 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15180 return NDR_ERR_SUCCESS;
15183 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
15185 TALLOC_CTX *_mem_save_bind_handle_0;
15186 TALLOC_CTX *_mem_save_req_0;
15187 if (flags & NDR_IN) {
15188 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15189 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15191 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15192 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15193 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15194 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15195 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15196 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15197 NDR_PULL_ALLOC(ndr, r->in.req);
15199 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15200 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15201 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15202 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15203 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15205 if (flags & NDR_OUT) {
15206 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15208 return NDR_ERR_SUCCESS;
15211 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
15213 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
15215 if (flags & NDR_SET_VALUES) {
15216 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15218 if (flags & NDR_IN) {
15219 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
15221 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15223 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15225 ndr_print_uint32(ndr, "level", r->in.level);
15226 ndr_print_ptr(ndr, "req", r->in.req);
15228 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15229 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
15233 if (flags & NDR_OUT) {
15234 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
15236 ndr_print_WERROR(ndr, "result", r->out.result);
15242 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15244 if (flags & NDR_IN) {
15245 if (r->in.bind_handle == NULL) {
15246 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15248 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15249 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
15250 if (r->in.req == NULL) {
15251 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15253 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15254 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15256 if (flags & NDR_OUT) {
15257 if (r->out.info_type == NULL) {
15258 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15260 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
15261 if (r->out.info == NULL) {
15262 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15264 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
15265 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15266 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15268 return NDR_ERR_SUCCESS;
15271 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
15273 TALLOC_CTX *_mem_save_bind_handle_0;
15274 TALLOC_CTX *_mem_save_req_0;
15275 TALLOC_CTX *_mem_save_info_type_0;
15276 TALLOC_CTX *_mem_save_info_0;
15277 if (flags & NDR_IN) {
15278 ZERO_STRUCT(r->out);
15280 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15281 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15283 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15284 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15285 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15286 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15287 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
15288 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15289 NDR_PULL_ALLOC(ndr, r->in.req);
15291 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15292 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15293 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15294 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15295 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15296 NDR_PULL_ALLOC(ndr, r->out.info_type);
15297 ZERO_STRUCTP(r->out.info_type);
15298 NDR_PULL_ALLOC(ndr, r->out.info);
15299 ZERO_STRUCTP(r->out.info);
15301 if (flags & NDR_OUT) {
15302 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15303 NDR_PULL_ALLOC(ndr, r->out.info_type);
15305 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
15306 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
15307 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
15308 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
15309 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15310 NDR_PULL_ALLOC(ndr, r->out.info);
15312 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15313 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15314 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
15315 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15317 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15319 return NDR_ERR_SUCCESS;
15322 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15324 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
15326 if (flags & NDR_SET_VALUES) {
15327 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15329 if (flags & NDR_IN) {
15330 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
15332 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15334 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15336 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
15337 ndr_print_ptr(ndr, "req", r->in.req);
15339 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15340 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
15344 if (flags & NDR_OUT) {
15345 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
15347 ndr_print_ptr(ndr, "info_type", r->out.info_type);
15349 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
15351 ndr_print_ptr(ndr, "info", r->out.info);
15353 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
15354 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
15356 ndr_print_WERROR(ndr, "result", r->out.result);
15362 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15364 if (flags & NDR_IN) {
15366 if (flags & NDR_OUT) {
15367 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15369 return NDR_ERR_SUCCESS;
15372 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
15374 if (flags & NDR_IN) {
15376 if (flags & NDR_OUT) {
15377 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15379 return NDR_ERR_SUCCESS;
15382 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15384 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
15386 if (flags & NDR_SET_VALUES) {
15387 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15389 if (flags & NDR_IN) {
15390 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
15394 if (flags & NDR_OUT) {
15395 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
15397 ndr_print_WERROR(ndr, "result", r->out.result);
15403 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
15405 if (flags & NDR_IN) {
15406 if (r->in.bind_handle == NULL) {
15407 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15409 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15410 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15411 if (r->in.req == NULL) {
15412 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15414 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15415 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15417 if (flags & NDR_OUT) {
15418 if (r->out.level_out == NULL) {
15419 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15421 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15422 if (r->out.ctr == NULL) {
15423 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15425 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15426 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15427 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15429 return NDR_ERR_SUCCESS;
15432 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
15434 TALLOC_CTX *_mem_save_bind_handle_0;
15435 TALLOC_CTX *_mem_save_req_0;
15436 TALLOC_CTX *_mem_save_level_out_0;
15437 TALLOC_CTX *_mem_save_ctr_0;
15438 if (flags & NDR_IN) {
15439 ZERO_STRUCT(r->out);
15441 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15442 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15444 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15445 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15446 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15447 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15448 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15449 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15450 NDR_PULL_ALLOC(ndr, r->in.req);
15452 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15453 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15454 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15455 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15456 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15457 NDR_PULL_ALLOC(ndr, r->out.level_out);
15458 ZERO_STRUCTP(r->out.level_out);
15459 NDR_PULL_ALLOC(ndr, r->out.ctr);
15460 ZERO_STRUCTP(r->out.ctr);
15462 if (flags & NDR_OUT) {
15463 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15464 NDR_PULL_ALLOC(ndr, r->out.level_out);
15466 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15467 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15468 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15469 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15470 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15471 NDR_PULL_ALLOC(ndr, r->out.ctr);
15473 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15474 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15475 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15476 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15477 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15478 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15480 return NDR_ERR_SUCCESS;
15483 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
15485 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
15487 if (flags & NDR_SET_VALUES) {
15488 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15490 if (flags & NDR_IN) {
15491 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
15493 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15495 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15497 ndr_print_int32(ndr, "level", r->in.level);
15498 ndr_print_ptr(ndr, "req", r->in.req);
15500 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15501 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
15505 if (flags & NDR_OUT) {
15506 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
15508 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15510 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15512 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15514 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15515 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
15517 ndr_print_WERROR(ndr, "result", r->out.result);
15523 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15525 if (flags & NDR_IN) {
15527 if (flags & NDR_OUT) {
15528 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15530 return NDR_ERR_SUCCESS;
15533 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15535 if (flags & NDR_IN) {
15537 if (flags & NDR_OUT) {
15538 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15540 return NDR_ERR_SUCCESS;
15543 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15545 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15547 if (flags & NDR_SET_VALUES) {
15548 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15550 if (flags & NDR_IN) {
15551 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15555 if (flags & NDR_OUT) {
15556 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15558 ndr_print_WERROR(ndr, "result", r->out.result);
15564 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15566 if (flags & NDR_IN) {
15568 if (flags & NDR_OUT) {
15569 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15571 return NDR_ERR_SUCCESS;
15574 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15576 if (flags & NDR_IN) {
15578 if (flags & NDR_OUT) {
15579 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15581 return NDR_ERR_SUCCESS;
15584 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15586 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
15588 if (flags & NDR_SET_VALUES) {
15589 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15591 if (flags & NDR_IN) {
15592 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15596 if (flags & NDR_OUT) {
15597 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15599 ndr_print_WERROR(ndr, "result", r->out.result);
15605 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
15607 if (flags & NDR_IN) {
15608 if (r->in.bind_handle == NULL) {
15609 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15611 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15612 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15613 if (r->in.req == NULL) {
15614 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15616 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15617 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15619 if (flags & NDR_OUT) {
15620 if (r->out.level_out == NULL) {
15621 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15623 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15624 if (r->out.ctr == NULL) {
15625 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15627 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15628 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15629 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15631 return NDR_ERR_SUCCESS;
15634 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
15636 TALLOC_CTX *_mem_save_bind_handle_0;
15637 TALLOC_CTX *_mem_save_req_0;
15638 TALLOC_CTX *_mem_save_level_out_0;
15639 TALLOC_CTX *_mem_save_ctr_0;
15640 if (flags & NDR_IN) {
15641 ZERO_STRUCT(r->out);
15643 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15644 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15646 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15647 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15648 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15650 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15651 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15652 NDR_PULL_ALLOC(ndr, r->in.req);
15654 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15655 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15656 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15657 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15658 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15659 NDR_PULL_ALLOC(ndr, r->out.level_out);
15660 ZERO_STRUCTP(r->out.level_out);
15661 NDR_PULL_ALLOC(ndr, r->out.ctr);
15662 ZERO_STRUCTP(r->out.ctr);
15664 if (flags & NDR_OUT) {
15665 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15666 NDR_PULL_ALLOC(ndr, r->out.level_out);
15668 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15669 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15670 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15672 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15673 NDR_PULL_ALLOC(ndr, r->out.ctr);
15675 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15676 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15677 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15678 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15679 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15680 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15682 return NDR_ERR_SUCCESS;
15685 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
15687 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
15689 if (flags & NDR_SET_VALUES) {
15690 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15692 if (flags & NDR_IN) {
15693 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
15695 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15697 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15699 ndr_print_int32(ndr, "level", r->in.level);
15700 ndr_print_ptr(ndr, "req", r->in.req);
15702 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15703 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
15707 if (flags & NDR_OUT) {
15708 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
15710 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15712 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15714 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15716 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15717 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
15719 ndr_print_WERROR(ndr, "result", r->out.result);
15725 static const struct ndr_interface_call drsuapi_calls[] = {
15728 sizeof(struct drsuapi_DsBind),
15729 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
15730 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
15731 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
15735 "drsuapi_DsUnbind",
15736 sizeof(struct drsuapi_DsUnbind),
15737 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
15738 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
15739 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
15743 "drsuapi_DsReplicaSync",
15744 sizeof(struct drsuapi_DsReplicaSync),
15745 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
15746 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
15747 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
15751 "drsuapi_DsGetNCChanges",
15752 sizeof(struct drsuapi_DsGetNCChanges),
15753 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
15754 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
15755 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
15759 "drsuapi_DsReplicaUpdateRefs",
15760 sizeof(struct drsuapi_DsReplicaUpdateRefs),
15761 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
15762 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
15763 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
15767 "drsuapi_DsReplicaAdd",
15768 sizeof(struct drsuapi_DsReplicaAdd),
15769 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
15770 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
15771 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
15775 "drsuapi_DsReplicaDel",
15776 sizeof(struct drsuapi_DsReplicaDel),
15777 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
15778 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
15779 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
15783 "drsuapi_DsReplicaMod",
15784 sizeof(struct drsuapi_DsReplicaMod),
15785 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
15786 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
15787 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
15791 "DRSUAPI_VERIFY_NAMES",
15792 sizeof(struct DRSUAPI_VERIFY_NAMES),
15793 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
15794 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
15795 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
15799 "drsuapi_DsGetMemberships",
15800 sizeof(struct drsuapi_DsGetMemberships),
15801 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
15802 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
15803 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
15807 "DRSUAPI_INTER_DOMAIN_MOVE",
15808 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
15809 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
15810 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
15811 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
15815 "drsuapi_DsGetNT4ChangeLog",
15816 sizeof(struct drsuapi_DsGetNT4ChangeLog),
15817 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
15818 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
15819 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
15823 "drsuapi_DsCrackNames",
15824 sizeof(struct drsuapi_DsCrackNames),
15825 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
15826 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
15827 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
15831 "drsuapi_DsWriteAccountSpn",
15832 sizeof(struct drsuapi_DsWriteAccountSpn),
15833 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
15834 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
15835 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
15839 "drsuapi_DsRemoveDSServer",
15840 sizeof(struct drsuapi_DsRemoveDSServer),
15841 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
15842 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
15843 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
15847 "DRSUAPI_REMOVE_DS_DOMAIN",
15848 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
15849 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
15850 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
15851 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
15855 "drsuapi_DsGetDomainControllerInfo",
15856 sizeof(struct drsuapi_DsGetDomainControllerInfo),
15857 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
15858 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
15859 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
15863 "drsuapi_DsAddEntry",
15864 sizeof(struct drsuapi_DsAddEntry),
15865 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
15866 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
15867 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
15871 "drsuapi_DsExecuteKCC",
15872 sizeof(struct drsuapi_DsExecuteKCC),
15873 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
15874 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
15875 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
15879 "drsuapi_DsReplicaGetInfo",
15880 sizeof(struct drsuapi_DsReplicaGetInfo),
15881 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
15882 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
15883 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
15887 "DRSUAPI_ADD_SID_HISTORY",
15888 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
15889 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
15890 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
15891 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
15895 "drsuapi_DsGetMemberships2",
15896 sizeof(struct drsuapi_DsGetMemberships2),
15897 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
15898 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
15899 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
15903 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15904 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
15905 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15906 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15907 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15911 "DRSUAPI_GET_OBJECT_EXISTENCE",
15912 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
15913 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
15914 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
15915 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
15919 "drsuapi_QuerySitesByCost",
15920 sizeof(struct drsuapi_QuerySitesByCost),
15921 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
15922 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
15923 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
15926 { NULL, 0, NULL, NULL, NULL, false }
15929 static const char * const drsuapi_endpoint_strings[] = {
15930 "ncacn_np:[\\pipe\\lsass]",
15931 "ncacn_np:[\\pipe\\protected_storage]",
15936 static const struct ndr_interface_string_array drsuapi_endpoints = {
15938 .names = drsuapi_endpoint_strings
15941 static const char * const drsuapi_authservice_strings[] = {
15945 static const struct ndr_interface_string_array drsuapi_authservices = {
15947 .names = drsuapi_authservice_strings
15951 const struct ndr_interface_table ndr_table_drsuapi = {
15954 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15955 NDR_DRSUAPI_VERSION
15957 .helpstring = NDR_DRSUAPI_HELPSTRING,
15959 .calls = drsuapi_calls,
15960 .endpoints = &drsuapi_endpoints,
15961 .authservices = &drsuapi_authservices