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_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1393 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1394 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1395 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1396 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1397 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1398 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1399 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1400 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1401 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1402 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1403 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1404 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1405 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1406 case DRSUAPI_ATTRIBUTE_auxiliaryClass: val = "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1407 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1408 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1409 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1410 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1411 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1412 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1413 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1414 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1415 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1416 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1417 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1418 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1419 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1420 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1421 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1422 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1423 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1424 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1425 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1426 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1427 case DRSUAPI_ATTRIBUTE_systemPossSuperiors: val = "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1428 case DRSUAPI_ATTRIBUTE_systemMayContain: val = "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1429 case DRSUAPI_ATTRIBUTE_systemMustContain: val = "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1430 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1431 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1432 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1433 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1434 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1435 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1436 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1437 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1438 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1439 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1440 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1441 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1442 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1443 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1444 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1445 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1446 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1447 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1448 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1449 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1451 ndr_print_enum(ndr, name, "ENUM", val, r);
1452 ndr->flags = _flags_save_ENUM;
1456 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1458 uint32_t cntr_attids_0;
1459 if (ndr_flags & NDR_SCALARS) {
1460 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
1461 NDR_CHECK(ndr_push_align(ndr, 4));
1462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1463 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1464 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1465 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1466 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1468 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1470 if (ndr_flags & NDR_BUFFERS) {
1472 return NDR_ERR_SUCCESS;
1475 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1477 uint32_t cntr_attids_0;
1478 TALLOC_CTX *_mem_save_attids_0;
1479 if (ndr_flags & NDR_SCALARS) {
1480 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1481 NDR_CHECK(ndr_pull_align(ndr, 4));
1482 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1483 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1484 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1485 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1486 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1488 NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids));
1489 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1490 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1491 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1492 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1494 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1496 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1498 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1500 if (ndr_flags & NDR_BUFFERS) {
1502 return NDR_ERR_SUCCESS;
1505 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1507 uint32_t cntr_attids_0;
1508 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1510 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1511 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1512 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1513 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1515 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1517 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1518 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1526 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1528 if (ndr_flags & NDR_SCALARS) {
1529 NDR_CHECK(ndr_push_align(ndr, 8));
1530 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1531 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1532 if (r->naming_context == NULL) {
1533 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1535 NDR_CHECK(ndr_push_ref_ptr(ndr));
1536 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1537 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1538 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1539 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1540 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1541 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1542 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1543 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1544 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1545 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1546 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1548 if (ndr_flags & NDR_BUFFERS) {
1549 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1550 if (r->uptodateness_vector) {
1551 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1553 if (r->partial_attribute_set) {
1554 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1556 if (r->partial_attribute_set_ex) {
1557 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1559 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1561 return NDR_ERR_SUCCESS;
1564 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1566 uint32_t _ptr_naming_context;
1567 TALLOC_CTX *_mem_save_naming_context_0;
1568 uint32_t _ptr_uptodateness_vector;
1569 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1570 uint32_t _ptr_partial_attribute_set;
1571 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1572 uint32_t _ptr_partial_attribute_set_ex;
1573 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1574 if (ndr_flags & NDR_SCALARS) {
1575 NDR_CHECK(ndr_pull_align(ndr, 8));
1576 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1577 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1578 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1579 if (_ptr_naming_context) {
1580 NDR_PULL_ALLOC(ndr, r->naming_context);
1582 r->naming_context = NULL;
1584 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1585 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1586 if (_ptr_uptodateness_vector) {
1587 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1589 r->uptodateness_vector = NULL;
1591 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1593 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1594 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1595 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1596 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1597 if (_ptr_partial_attribute_set) {
1598 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1600 r->partial_attribute_set = NULL;
1602 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1603 if (_ptr_partial_attribute_set_ex) {
1604 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1606 r->partial_attribute_set_ex = NULL;
1608 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1609 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1611 if (ndr_flags & NDR_BUFFERS) {
1612 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1613 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1614 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1615 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1616 if (r->uptodateness_vector) {
1617 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1618 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1619 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1622 if (r->partial_attribute_set) {
1623 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1624 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1625 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1628 if (r->partial_attribute_set_ex) {
1629 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1630 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1631 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1632 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1634 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1636 return NDR_ERR_SUCCESS;
1639 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1641 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1643 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1644 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1645 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1647 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1649 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1650 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1652 if (r->uptodateness_vector) {
1653 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1656 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1657 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1658 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1659 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1660 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1661 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1663 if (r->partial_attribute_set) {
1664 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1667 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1669 if (r->partial_attribute_set_ex) {
1670 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1673 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1677 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
1679 if (ndr_flags & NDR_SCALARS) {
1680 NDR_CHECK(ndr_push_align(ndr, 8));
1681 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1682 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1683 if (r->naming_context == NULL) {
1684 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1686 NDR_CHECK(ndr_push_ref_ptr(ndr));
1687 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1688 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1689 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1690 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1692 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1693 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1694 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1695 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1696 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1697 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_flags));
1698 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1700 if (ndr_flags & NDR_BUFFERS) {
1701 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1702 if (r->uptodateness_vector) {
1703 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1705 if (r->partial_attribute_set) {
1706 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1708 if (r->partial_attribute_set_ex) {
1709 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1711 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1713 return NDR_ERR_SUCCESS;
1716 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
1718 uint32_t _ptr_naming_context;
1719 TALLOC_CTX *_mem_save_naming_context_0;
1720 uint32_t _ptr_uptodateness_vector;
1721 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1722 uint32_t _ptr_partial_attribute_set;
1723 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1724 uint32_t _ptr_partial_attribute_set_ex;
1725 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1726 if (ndr_flags & NDR_SCALARS) {
1727 NDR_CHECK(ndr_pull_align(ndr, 8));
1728 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1729 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1730 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1731 if (_ptr_naming_context) {
1732 NDR_PULL_ALLOC(ndr, r->naming_context);
1734 r->naming_context = NULL;
1736 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1737 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1738 if (_ptr_uptodateness_vector) {
1739 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1741 r->uptodateness_vector = NULL;
1743 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1744 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1745 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1746 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1747 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1748 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1749 if (_ptr_partial_attribute_set) {
1750 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1752 r->partial_attribute_set = NULL;
1754 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1755 if (_ptr_partial_attribute_set_ex) {
1756 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1758 r->partial_attribute_set_ex = NULL;
1760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1761 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_flags));
1762 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1764 if (ndr_flags & NDR_BUFFERS) {
1765 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1766 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1767 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1768 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1769 if (r->uptodateness_vector) {
1770 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1771 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1772 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1773 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1775 if (r->partial_attribute_set) {
1776 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1777 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1778 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1781 if (r->partial_attribute_set_ex) {
1782 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1783 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1784 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1785 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1787 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1789 return NDR_ERR_SUCCESS;
1792 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
1794 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
1796 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1797 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1798 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1800 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1802 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1803 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1805 if (r->uptodateness_vector) {
1806 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1809 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1810 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1811 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1812 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1813 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1814 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1816 if (r->partial_attribute_set) {
1817 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1820 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1822 if (r->partial_attribute_set_ex) {
1823 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1826 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1827 ndr_print_uint32(ndr, "more_flags", r->more_flags);
1831 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1833 if (ndr_flags & NDR_SCALARS) {
1834 int level = ndr_push_get_switch_value(ndr, r);
1835 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
1836 NDR_CHECK(ndr_push_union_align(ndr, 8));
1839 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1843 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1847 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1851 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1854 if (ndr_flags & NDR_BUFFERS) {
1855 int level = ndr_push_get_switch_value(ndr, r);
1858 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1862 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1866 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1870 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1873 return NDR_ERR_SUCCESS;
1876 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1880 level = ndr_pull_get_switch_value(ndr, r);
1881 if (ndr_flags & NDR_SCALARS) {
1882 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
1883 if (_level != level) {
1884 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1886 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1889 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1893 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1897 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1901 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1904 if (ndr_flags & NDR_BUFFERS) {
1907 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1911 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1915 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1919 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1922 return NDR_ERR_SUCCESS;
1925 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1928 level = ndr_print_get_switch_value(ndr, r);
1929 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1932 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1936 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1940 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
1944 ndr_print_bad_level(ndr, name, level);
1948 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1950 if (ndr_flags & NDR_SCALARS) {
1951 NDR_CHECK(ndr_push_align(ndr, 8));
1952 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1953 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1954 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1955 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1957 if (ndr_flags & NDR_BUFFERS) {
1959 return NDR_ERR_SUCCESS;
1962 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1964 if (ndr_flags & NDR_SCALARS) {
1965 NDR_CHECK(ndr_pull_align(ndr, 8));
1966 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1967 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1968 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1969 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1971 if (ndr_flags & NDR_BUFFERS) {
1973 return NDR_ERR_SUCCESS;
1976 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
1978 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
1980 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1981 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
1982 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
1986 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1988 uint32_t cntr_cursors_0;
1989 if (ndr_flags & NDR_SCALARS) {
1990 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1991 NDR_CHECK(ndr_push_align(ndr, 8));
1992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
1993 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1996 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1997 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1999 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2001 if (ndr_flags & NDR_BUFFERS) {
2003 return NDR_ERR_SUCCESS;
2006 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
2008 uint32_t cntr_cursors_0;
2009 TALLOC_CTX *_mem_save_cursors_0;
2010 if (ndr_flags & NDR_SCALARS) {
2011 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
2012 NDR_CHECK(ndr_pull_align(ndr, 8));
2013 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2014 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
2015 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2016 if (r->count > 0x100000) {
2017 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2019 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
2020 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
2021 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
2022 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
2023 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
2024 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
2026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
2028 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
2030 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2032 if (ndr_flags & NDR_BUFFERS) {
2034 return NDR_ERR_SUCCESS;
2037 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
2039 uint32_t cntr_cursors_0;
2040 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
2042 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
2043 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2044 ndr_print_uint32(ndr, "count", r->count);
2045 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2046 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
2048 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
2050 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
2051 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
2059 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
2061 if (ndr_flags & NDR_SCALARS) {
2062 NDR_CHECK(ndr_push_align(ndr, 5));
2063 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
2064 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
2065 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2067 if (ndr_flags & NDR_BUFFERS) {
2069 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
2072 return NDR_ERR_SUCCESS;
2075 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
2078 TALLOC_CTX *_mem_save_blob_0;
2079 if (ndr_flags & NDR_SCALARS) {
2080 NDR_CHECK(ndr_pull_align(ndr, 5));
2081 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2082 if (r->__ndr_size > 10485760) {
2083 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2085 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
2087 NDR_PULL_ALLOC(ndr, r->blob);
2091 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2093 if (ndr_flags & NDR_BUFFERS) {
2095 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
2096 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
2097 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
2098 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
2101 return NDR_ERR_SUCCESS;
2104 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
2106 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
2108 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
2109 ndr_print_ptr(ndr, "blob", r->blob);
2112 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
2118 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
2120 uint32_t cntr_values_1;
2121 if (ndr_flags & NDR_SCALARS) {
2122 NDR_CHECK(ndr_push_align(ndr, 5));
2123 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
2124 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
2125 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2127 if (ndr_flags & NDR_BUFFERS) {
2129 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
2130 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2131 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2133 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2134 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2138 return NDR_ERR_SUCCESS;
2141 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
2143 uint32_t _ptr_values;
2144 uint32_t cntr_values_1;
2145 TALLOC_CTX *_mem_save_values_0;
2146 TALLOC_CTX *_mem_save_values_1;
2147 if (ndr_flags & NDR_SCALARS) {
2148 NDR_CHECK(ndr_pull_align(ndr, 5));
2149 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
2150 if (r->num_values > 10485760) {
2151 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2153 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
2155 NDR_PULL_ALLOC(ndr, r->values);
2159 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2161 if (ndr_flags & NDR_BUFFERS) {
2163 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2164 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2165 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
2166 NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values));
2167 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
2168 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2169 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2170 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2172 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2173 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2175 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
2176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
2179 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
2182 return NDR_ERR_SUCCESS;
2185 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
2187 uint32_t cntr_values_1;
2188 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
2190 ndr_print_uint32(ndr, "num_values", r->num_values);
2191 ndr_print_ptr(ndr, "values", r->values);
2194 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
2196 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
2198 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
2199 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
2209 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2211 if (ndr_flags & NDR_SCALARS) {
2212 NDR_CHECK(ndr_push_align(ndr, 4));
2213 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2215 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2216 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2218 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2219 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2221 if (ndr_flags & NDR_BUFFERS) {
2222 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2224 return NDR_ERR_SUCCESS;
2227 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
2229 if (ndr_flags & NDR_SCALARS) {
2230 NDR_CHECK(ndr_pull_align(ndr, 4));
2231 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2232 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2233 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2234 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2235 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2236 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2237 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2239 if (ndr_flags & NDR_BUFFERS) {
2240 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2242 return NDR_ERR_SUCCESS;
2245 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2247 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
2249 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
2250 ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid);
2251 ndr_print_GUID(ndr, "guid", &r->guid);
2252 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2253 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2254 ndr_print_string(ndr, "dn", r->dn);
2258 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags)
2260 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic);
2263 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2265 if (ndr_flags & NDR_SCALARS) {
2266 NDR_CHECK(ndr_push_align(ndr, 4));
2267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2268 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2269 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2270 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2271 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2272 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2273 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
2275 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2276 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2277 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
2278 ndr->flags = _flags_save_DATA_BLOB;
2280 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2282 if (ndr_flags & NDR_BUFFERS) {
2283 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2285 return NDR_ERR_SUCCESS;
2288 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2290 if (ndr_flags & NDR_SCALARS) {
2291 NDR_CHECK(ndr_pull_align(ndr, 4));
2292 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2293 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2294 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2295 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2296 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2297 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2298 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
2300 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2301 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2302 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
2303 ndr->flags = _flags_save_DATA_BLOB;
2305 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2307 if (ndr_flags & NDR_BUFFERS) {
2308 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2310 return NDR_ERR_SUCCESS;
2313 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2315 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2317 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);
2318 ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid);
2319 ndr_print_GUID(ndr, "guid", &r->guid);
2320 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2321 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2322 ndr_print_string(ndr, "dn", r->dn);
2323 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2324 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2328 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(const struct drsuapi_DsReplicaObjectIdentifier3Binary *r, struct smb_iconv_convenience *ic, int flags)
2330 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary, ic);
2333 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2335 if (ndr_flags & NDR_SCALARS) {
2336 NDR_CHECK(ndr_push_align(ndr, 5));
2337 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2338 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2339 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2341 if (ndr_flags & NDR_BUFFERS) {
2342 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2344 return NDR_ERR_SUCCESS;
2347 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2349 if (ndr_flags & NDR_SCALARS) {
2350 NDR_CHECK(ndr_pull_align(ndr, 5));
2351 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2352 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2353 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2355 if (ndr_flags & NDR_BUFFERS) {
2356 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2358 return NDR_ERR_SUCCESS;
2361 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2363 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2365 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2366 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2370 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2372 uint32_t cntr_attributes_1;
2373 if (ndr_flags & NDR_SCALARS) {
2374 NDR_CHECK(ndr_push_align(ndr, 5));
2375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2376 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2377 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2379 if (ndr_flags & NDR_BUFFERS) {
2380 if (r->attributes) {
2381 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
2382 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2383 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2385 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2386 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2390 return NDR_ERR_SUCCESS;
2393 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2395 uint32_t _ptr_attributes;
2396 uint32_t cntr_attributes_1;
2397 TALLOC_CTX *_mem_save_attributes_0;
2398 TALLOC_CTX *_mem_save_attributes_1;
2399 if (ndr_flags & NDR_SCALARS) {
2400 NDR_CHECK(ndr_pull_align(ndr, 5));
2401 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2402 if (r->num_attributes > 1048576) {
2403 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2405 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2406 if (_ptr_attributes) {
2407 NDR_PULL_ALLOC(ndr, r->attributes);
2409 r->attributes = NULL;
2411 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2413 if (ndr_flags & NDR_BUFFERS) {
2414 if (r->attributes) {
2415 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2416 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2417 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2418 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes));
2419 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2420 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2421 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2422 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2424 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2425 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2427 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2428 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2430 if (r->attributes) {
2431 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2434 return NDR_ERR_SUCCESS;
2437 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2439 uint32_t cntr_attributes_1;
2440 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2442 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2443 ndr_print_ptr(ndr, "attributes", r->attributes);
2445 if (r->attributes) {
2446 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2448 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2450 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2451 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2461 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2463 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2464 return NDR_ERR_SUCCESS;
2467 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2470 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2472 return NDR_ERR_SUCCESS;
2475 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2477 ndr_print_uint32(ndr, name, r);
2479 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2480 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2481 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2485 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2487 if (ndr_flags & NDR_SCALARS) {
2488 NDR_CHECK(ndr_push_align(ndr, 5));
2489 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2490 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2491 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2492 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2494 if (ndr_flags & NDR_BUFFERS) {
2495 if (r->identifier) {
2496 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2498 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2500 return NDR_ERR_SUCCESS;
2503 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2505 uint32_t _ptr_identifier;
2506 TALLOC_CTX *_mem_save_identifier_0;
2507 if (ndr_flags & NDR_SCALARS) {
2508 NDR_CHECK(ndr_pull_align(ndr, 5));
2509 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2510 if (_ptr_identifier) {
2511 NDR_PULL_ALLOC(ndr, r->identifier);
2513 r->identifier = NULL;
2515 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2516 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2517 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2519 if (ndr_flags & NDR_BUFFERS) {
2520 if (r->identifier) {
2521 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2522 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2523 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2524 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2526 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2528 return NDR_ERR_SUCCESS;
2531 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2533 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2535 ndr_print_ptr(ndr, "identifier", r->identifier);
2537 if (r->identifier) {
2538 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2541 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2542 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2546 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2548 if (ndr_flags & NDR_SCALARS) {
2549 NDR_CHECK(ndr_push_align(ndr, 8));
2550 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2551 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2552 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2553 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2554 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2556 if (ndr_flags & NDR_BUFFERS) {
2558 return NDR_ERR_SUCCESS;
2561 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2563 if (ndr_flags & NDR_SCALARS) {
2564 NDR_CHECK(ndr_pull_align(ndr, 8));
2565 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2566 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2567 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2568 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2569 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2571 if (ndr_flags & NDR_BUFFERS) {
2573 return NDR_ERR_SUCCESS;
2576 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2578 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2580 ndr_print_uint32(ndr, "version", r->version);
2581 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2582 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2583 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2587 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2589 uint32_t cntr_meta_data_0;
2590 if (ndr_flags & NDR_SCALARS) {
2591 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2592 NDR_CHECK(ndr_push_align(ndr, 8));
2593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2594 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2595 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2597 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2599 if (ndr_flags & NDR_BUFFERS) {
2601 return NDR_ERR_SUCCESS;
2604 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2606 uint32_t cntr_meta_data_0;
2607 TALLOC_CTX *_mem_save_meta_data_0;
2608 if (ndr_flags & NDR_SCALARS) {
2609 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2610 NDR_CHECK(ndr_pull_align(ndr, 8));
2611 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2612 if (r->count > 1048576) {
2613 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2615 NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data));
2616 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2617 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2618 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2619 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2621 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2623 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2625 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2627 if (ndr_flags & NDR_BUFFERS) {
2629 return NDR_ERR_SUCCESS;
2632 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2634 uint32_t cntr_meta_data_0;
2635 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2637 ndr_print_uint32(ndr, "count", r->count);
2638 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2640 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2642 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2643 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2651 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2653 if (ndr_flags & NDR_SCALARS) {
2654 NDR_CHECK(ndr_push_align(ndr, 5));
2655 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2656 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2657 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2658 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2659 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2660 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2662 if (ndr_flags & NDR_BUFFERS) {
2663 if (r->next_object) {
2664 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2666 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2667 if (r->parent_object_guid) {
2668 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2670 if (r->meta_data_ctr) {
2671 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2674 return NDR_ERR_SUCCESS;
2677 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2679 uint32_t _ptr_next_object;
2680 TALLOC_CTX *_mem_save_next_object_0;
2681 uint32_t _ptr_parent_object_guid;
2682 TALLOC_CTX *_mem_save_parent_object_guid_0;
2683 uint32_t _ptr_meta_data_ctr;
2684 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2685 if (ndr_flags & NDR_SCALARS) {
2686 NDR_CHECK(ndr_pull_align(ndr, 5));
2687 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2688 if (_ptr_next_object) {
2689 NDR_PULL_ALLOC(ndr, r->next_object);
2691 r->next_object = NULL;
2693 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2694 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2695 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2696 if (_ptr_parent_object_guid) {
2697 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2699 r->parent_object_guid = NULL;
2701 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2702 if (_ptr_meta_data_ctr) {
2703 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2705 r->meta_data_ctr = NULL;
2707 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2709 if (ndr_flags & NDR_BUFFERS) {
2710 if (r->next_object) {
2711 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2712 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2713 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2714 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2716 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2717 if (r->parent_object_guid) {
2718 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2719 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2720 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2721 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2723 if (r->meta_data_ctr) {
2724 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2725 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2726 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2727 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2730 return NDR_ERR_SUCCESS;
2733 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2735 if (ndr_flags & NDR_SCALARS) {
2736 NDR_CHECK(ndr_push_align(ndr, 8));
2737 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2738 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2739 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2740 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2741 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2742 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2743 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2744 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55));
2747 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2749 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2751 if (ndr_flags & NDR_BUFFERS) {
2752 if (r->naming_context) {
2753 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2755 if (r->uptodateness_vector) {
2756 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2758 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2759 if (r->first_object) {
2760 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2763 return NDR_ERR_SUCCESS;
2766 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2768 uint32_t _ptr_naming_context;
2769 TALLOC_CTX *_mem_save_naming_context_0;
2770 uint32_t _ptr_uptodateness_vector;
2771 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2772 uint32_t _ptr_first_object;
2773 TALLOC_CTX *_mem_save_first_object_0;
2774 if (ndr_flags & NDR_SCALARS) {
2775 NDR_CHECK(ndr_pull_align(ndr, 8));
2776 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2777 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2778 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2779 if (_ptr_naming_context) {
2780 NDR_PULL_ALLOC(ndr, r->naming_context);
2782 r->naming_context = NULL;
2784 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2785 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2786 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2787 if (_ptr_uptodateness_vector) {
2788 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2790 r->uptodateness_vector = NULL;
2792 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2793 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2794 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2795 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2796 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2797 if (_ptr_first_object) {
2798 NDR_PULL_ALLOC(ndr, r->first_object);
2800 r->first_object = NULL;
2802 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2803 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2805 if (ndr_flags & NDR_BUFFERS) {
2806 if (r->naming_context) {
2807 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2808 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2809 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2810 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2812 if (r->uptodateness_vector) {
2813 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2814 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2815 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2816 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2818 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2819 if (r->first_object) {
2820 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2821 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2822 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2823 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2826 return NDR_ERR_SUCCESS;
2829 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2831 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2833 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2834 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2835 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2837 if (r->naming_context) {
2838 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2841 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2842 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2843 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2845 if (r->uptodateness_vector) {
2846 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2849 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2850 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2851 ndr_print_uint32(ndr, "object_count", r->object_count);
2852 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);
2853 ndr_print_ptr(ndr, "first_object", r->first_object);
2855 if (r->first_object) {
2856 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2859 ndr_print_uint32(ndr, "more_data", r->more_data);
2863 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags)
2865 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic);
2868 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2870 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2871 return NDR_ERR_SUCCESS;
2874 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2877 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2879 return NDR_ERR_SUCCESS;
2882 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2884 ndr_print_uint32(ndr, name, r);
2886 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2890 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2892 if (ndr_flags & NDR_SCALARS) {
2893 NDR_CHECK(ndr_push_align(ndr, 8));
2894 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2895 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2896 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2897 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2898 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2899 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2900 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2902 if (ndr_flags & NDR_BUFFERS) {
2903 if (r->identifier) {
2904 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2906 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2908 return NDR_ERR_SUCCESS;
2911 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2913 uint32_t _ptr_identifier;
2914 TALLOC_CTX *_mem_save_identifier_0;
2915 if (ndr_flags & NDR_SCALARS) {
2916 NDR_CHECK(ndr_pull_align(ndr, 8));
2917 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2918 if (_ptr_identifier) {
2919 NDR_PULL_ALLOC(ndr, r->identifier);
2921 r->identifier = NULL;
2923 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2924 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2925 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2926 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2927 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2928 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2930 if (ndr_flags & NDR_BUFFERS) {
2931 if (r->identifier) {
2932 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2933 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2934 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2935 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2937 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2939 return NDR_ERR_SUCCESS;
2942 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2944 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2946 ndr_print_ptr(ndr, "identifier", r->identifier);
2948 if (r->identifier) {
2949 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2952 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2953 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2954 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2955 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2956 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2960 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2962 uint32_t cntr_linked_attributes_1;
2963 if (ndr_flags & NDR_SCALARS) {
2964 NDR_CHECK(ndr_push_align(ndr, 8));
2965 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2966 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2967 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2968 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2969 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2970 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2971 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2972 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2973 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2974 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55));
2975 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2977 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2980 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2981 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2982 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2984 if (ndr_flags & NDR_BUFFERS) {
2985 if (r->naming_context) {
2986 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2988 if (r->uptodateness_vector) {
2989 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2991 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2992 if (r->first_object) {
2993 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2995 if (r->linked_attributes) {
2996 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
2997 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2998 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3000 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3001 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3005 return NDR_ERR_SUCCESS;
3008 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
3010 uint32_t _ptr_naming_context;
3011 TALLOC_CTX *_mem_save_naming_context_0;
3012 uint32_t _ptr_uptodateness_vector;
3013 TALLOC_CTX *_mem_save_uptodateness_vector_0;
3014 uint32_t _ptr_first_object;
3015 TALLOC_CTX *_mem_save_first_object_0;
3016 uint32_t _ptr_linked_attributes;
3017 uint32_t cntr_linked_attributes_1;
3018 TALLOC_CTX *_mem_save_linked_attributes_0;
3019 TALLOC_CTX *_mem_save_linked_attributes_1;
3020 if (ndr_flags & NDR_SCALARS) {
3021 NDR_CHECK(ndr_pull_align(ndr, 8));
3022 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
3023 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
3024 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
3025 if (_ptr_naming_context) {
3026 NDR_PULL_ALLOC(ndr, r->naming_context);
3028 r->naming_context = NULL;
3030 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
3031 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
3032 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
3033 if (_ptr_uptodateness_vector) {
3034 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
3036 r->uptodateness_vector = NULL;
3038 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
3039 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
3040 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
3041 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
3042 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
3043 if (_ptr_first_object) {
3044 NDR_PULL_ALLOC(ndr, r->first_object);
3046 r->first_object = NULL;
3048 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
3049 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
3050 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
3051 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
3052 if (r->linked_attributes_count > 1048576) {
3053 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3055 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
3056 if (_ptr_linked_attributes) {
3057 NDR_PULL_ALLOC(ndr, r->linked_attributes);
3059 r->linked_attributes = NULL;
3061 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
3062 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3064 if (ndr_flags & NDR_BUFFERS) {
3065 if (r->naming_context) {
3066 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3067 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3068 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3069 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3071 if (r->uptodateness_vector) {
3072 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
3073 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
3074 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
3075 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
3077 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3078 if (r->first_object) {
3079 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
3080 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
3081 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3082 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
3084 if (r->linked_attributes) {
3085 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
3086 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3087 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
3088 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes));
3089 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
3090 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3091 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3092 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3094 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3095 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
3098 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
3100 if (r->linked_attributes) {
3101 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
3104 return NDR_ERR_SUCCESS;
3107 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
3109 uint32_t cntr_linked_attributes_1;
3110 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
3112 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3113 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3114 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3116 if (r->naming_context) {
3117 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3120 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3121 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3122 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3124 if (r->uptodateness_vector) {
3125 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3128 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3129 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3130 ndr_print_uint32(ndr, "object_count", r->object_count);
3131 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);
3132 ndr_print_ptr(ndr, "first_object", r->first_object);
3134 if (r->first_object) {
3135 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3138 ndr_print_uint32(ndr, "more_data", r->more_data);
3139 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
3140 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
3141 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
3142 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
3144 if (r->linked_attributes) {
3145 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
3147 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
3149 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
3150 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
3157 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
3161 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags)
3163 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic);
3166 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3168 if (ndr_flags & NDR_SCALARS) {
3169 NDR_CHECK(ndr_push_align(ndr, 1));
3171 struct ndr_push *_ndr_ctr1;
3172 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3173 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3174 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3176 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3178 if (ndr_flags & NDR_BUFFERS) {
3180 return NDR_ERR_SUCCESS;
3183 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
3185 if (ndr_flags & NDR_SCALARS) {
3186 NDR_CHECK(ndr_pull_align(ndr, 1));
3188 struct ndr_pull *_ndr_ctr1;
3189 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3190 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3191 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3193 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3195 if (ndr_flags & NDR_BUFFERS) {
3197 return NDR_ERR_SUCCESS;
3200 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3202 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
3204 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3208 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3210 if (ndr_flags & NDR_SCALARS) {
3211 NDR_CHECK(ndr_push_align(ndr, 1));
3213 struct ndr_push *_ndr_ctr6;
3214 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3215 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3216 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3218 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3220 if (ndr_flags & NDR_BUFFERS) {
3222 return NDR_ERR_SUCCESS;
3225 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
3227 if (ndr_flags & NDR_SCALARS) {
3228 NDR_CHECK(ndr_pull_align(ndr, 1));
3230 struct ndr_pull *_ndr_ctr6;
3231 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3232 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3233 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3235 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3237 if (ndr_flags & NDR_BUFFERS) {
3239 return NDR_ERR_SUCCESS;
3242 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3244 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
3246 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3250 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3253 TALLOC_CTX *_mem_save_ts_0;
3254 if (ndr_flags & NDR_SCALARS) {
3255 NDR_CHECK(ndr_pull_align(ndr, 5));
3256 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3257 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3258 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3260 NDR_PULL_ALLOC(ndr, r->ts);
3264 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3266 if (ndr_flags & NDR_BUFFERS) {
3268 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3269 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3271 struct ndr_pull *_ndr_ts;
3272 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3274 struct ndr_pull *_ndr_ts_compressed;
3275 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3276 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3277 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3279 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3284 return NDR_ERR_SUCCESS;
3287 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3289 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
3291 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3292 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3293 ndr_print_ptr(ndr, "ts", r->ts);
3296 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3302 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3305 TALLOC_CTX *_mem_save_ts_0;
3306 if (ndr_flags & NDR_SCALARS) {
3307 NDR_CHECK(ndr_pull_align(ndr, 5));
3308 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3309 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3310 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3312 NDR_PULL_ALLOC(ndr, r->ts);
3316 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3318 if (ndr_flags & NDR_BUFFERS) {
3320 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3321 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3323 struct ndr_pull *_ndr_ts;
3324 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3326 struct ndr_pull *_ndr_ts_compressed;
3327 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3328 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3329 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3331 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3333 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3336 return NDR_ERR_SUCCESS;
3339 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3341 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3343 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3344 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3345 ndr_print_ptr(ndr, "ts", r->ts);
3348 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3354 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3357 TALLOC_CTX *_mem_save_ts_0;
3358 if (ndr_flags & NDR_SCALARS) {
3359 NDR_CHECK(ndr_pull_align(ndr, 5));
3360 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3362 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3364 NDR_PULL_ALLOC(ndr, r->ts);
3368 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3370 if (ndr_flags & NDR_BUFFERS) {
3372 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3373 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3375 struct ndr_pull *_ndr_ts;
3376 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3378 struct ndr_pull *_ndr_ts_compressed;
3379 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3380 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3381 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3383 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3385 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3388 return NDR_ERR_SUCCESS;
3391 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3393 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3395 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3396 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3397 ndr_print_ptr(ndr, "ts", r->ts);
3400 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3406 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3409 TALLOC_CTX *_mem_save_ts_0;
3410 if (ndr_flags & NDR_SCALARS) {
3411 NDR_CHECK(ndr_pull_align(ndr, 5));
3412 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3413 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3414 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3416 NDR_PULL_ALLOC(ndr, r->ts);
3420 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3422 if (ndr_flags & NDR_BUFFERS) {
3424 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3425 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3427 struct ndr_pull *_ndr_ts;
3428 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3430 struct ndr_pull *_ndr_ts_compressed;
3431 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3432 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3433 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3435 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3437 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3440 return NDR_ERR_SUCCESS;
3443 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3445 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3447 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3448 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3449 ndr_print_ptr(ndr, "ts", r->ts);
3452 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3458 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3460 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3461 return NDR_ERR_SUCCESS;
3464 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3467 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3469 return NDR_ERR_SUCCESS;
3472 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3474 const char *val = NULL;
3477 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3478 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3480 ndr_print_enum(ndr, name, "ENUM", val, r);
3483 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3486 uint32_t _flags_save_UNION = ndr->flags;
3487 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3488 if (ndr_flags & NDR_SCALARS) {
3489 int level = ndr_push_get_switch_value(ndr, r);
3490 NDR_CHECK(ndr_push_union_align(ndr, 5));
3492 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3493 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3496 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3497 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3500 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3501 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3504 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3505 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3509 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3512 if (ndr_flags & NDR_BUFFERS) {
3513 int level = ndr_push_get_switch_value(ndr, r);
3515 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3516 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3519 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3520 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3523 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3524 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3527 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3528 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3532 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3535 ndr->flags = _flags_save_UNION;
3537 return NDR_ERR_SUCCESS;
3540 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3544 uint32_t _flags_save_UNION = ndr->flags;
3545 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3546 level = ndr_pull_get_switch_value(ndr, r);
3547 if (ndr_flags & NDR_SCALARS) {
3548 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3550 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3551 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3554 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3555 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3558 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3559 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3562 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3563 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3567 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3570 if (ndr_flags & NDR_BUFFERS) {
3572 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3573 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3576 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3577 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3580 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3581 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3584 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3585 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3589 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3592 ndr->flags = _flags_save_UNION;
3594 return NDR_ERR_SUCCESS;
3597 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3601 uint32_t _flags_save_UNION = ndr->flags;
3602 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3603 level = ndr_print_get_switch_value(ndr, r);
3604 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3606 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3607 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3610 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3611 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3614 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3615 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3618 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3619 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3623 ndr_print_bad_level(ndr, name, level);
3625 ndr->flags = _flags_save_UNION;
3629 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3631 if (ndr_flags & NDR_SCALARS) {
3632 NDR_CHECK(ndr_push_align(ndr, 5));
3633 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3634 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3636 if (ndr_flags & NDR_BUFFERS) {
3637 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3639 return NDR_ERR_SUCCESS;
3642 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3644 if (ndr_flags & NDR_SCALARS) {
3645 NDR_CHECK(ndr_pull_align(ndr, 5));
3646 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3647 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3649 if (ndr_flags & NDR_BUFFERS) {
3650 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3652 return NDR_ERR_SUCCESS;
3655 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3657 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3659 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3663 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3665 if (ndr_flags & NDR_SCALARS) {
3666 NDR_CHECK(ndr_push_align(ndr, 5));
3667 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
3668 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3669 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3670 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3671 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3673 if (ndr_flags & NDR_BUFFERS) {
3674 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3676 return NDR_ERR_SUCCESS;
3679 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3681 if (ndr_flags & NDR_SCALARS) {
3682 NDR_CHECK(ndr_pull_align(ndr, 5));
3683 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
3684 if (r->level < 0 || r->level > 6) {
3685 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3687 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3688 if (r->type < 2 || r->type > 3) {
3689 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3691 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3692 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3693 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3695 if (ndr_flags & NDR_BUFFERS) {
3696 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3698 return NDR_ERR_SUCCESS;
3701 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3703 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3705 ndr_print_int32(ndr, "level", r->level);
3706 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3707 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3708 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3712 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3714 if (ndr_flags & NDR_SCALARS) {
3715 int level = ndr_push_get_switch_value(ndr, r);
3716 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3717 NDR_CHECK(ndr_push_union_align(ndr, 8));
3720 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3724 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3728 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3732 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3736 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3739 if (ndr_flags & NDR_BUFFERS) {
3740 int level = ndr_push_get_switch_value(ndr, r);
3743 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3747 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3751 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3755 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3759 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3762 return NDR_ERR_SUCCESS;
3765 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3769 level = ndr_pull_get_switch_value(ndr, r);
3770 if (ndr_flags & NDR_SCALARS) {
3771 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3772 if (_level != level) {
3773 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3775 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3778 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3782 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3786 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3790 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3794 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3797 if (ndr_flags & NDR_BUFFERS) {
3800 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3804 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3808 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3812 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3816 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3819 return NDR_ERR_SUCCESS;
3822 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3825 level = ndr_print_get_switch_value(ndr, r);
3826 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3829 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3833 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3837 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3841 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3845 ndr_print_bad_level(ndr, name, level);
3849 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3852 return NDR_ERR_SUCCESS;
3855 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3858 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3860 return NDR_ERR_SUCCESS;
3863 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3865 ndr_print_uint32(ndr, name, r);
3867 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION, r);
3868 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK", DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK, r);
3869 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE, r);
3870 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE, r);
3871 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE, r);
3875 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3877 if (ndr_flags & NDR_SCALARS) {
3878 NDR_CHECK(ndr_push_align(ndr, 5));
3879 if (r->naming_context == NULL) {
3880 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3882 NDR_CHECK(ndr_push_ref_ptr(ndr));
3883 if (r->dest_dsa_dns_name == NULL) {
3884 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3886 NDR_CHECK(ndr_push_ref_ptr(ndr));
3887 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3888 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->options));
3889 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3891 if (ndr_flags & NDR_BUFFERS) {
3892 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3893 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3894 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3895 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3896 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));
3898 return NDR_ERR_SUCCESS;
3901 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3903 uint32_t _ptr_naming_context;
3904 TALLOC_CTX *_mem_save_naming_context_0;
3905 uint32_t _ptr_dest_dsa_dns_name;
3906 if (ndr_flags & NDR_SCALARS) {
3907 NDR_CHECK(ndr_pull_align(ndr, 5));
3908 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3909 if (_ptr_naming_context) {
3910 NDR_PULL_ALLOC(ndr, r->naming_context);
3912 r->naming_context = NULL;
3914 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3915 if (_ptr_dest_dsa_dns_name) {
3916 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3918 r->dest_dsa_dns_name = NULL;
3920 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3921 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->options));
3922 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3924 if (ndr_flags & NDR_BUFFERS) {
3925 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3926 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3927 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3928 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3929 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3930 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3931 if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) {
3932 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));
3934 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t)));
3935 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));
3937 return NDR_ERR_SUCCESS;
3940 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3942 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3944 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3946 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3948 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3950 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3952 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3953 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "options", r->options);
3957 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3959 if (ndr_flags & NDR_SCALARS) {
3960 int level = ndr_push_get_switch_value(ndr, r);
3961 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3962 NDR_CHECK(ndr_push_union_align(ndr, 5));
3965 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3969 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3972 if (ndr_flags & NDR_BUFFERS) {
3973 int level = ndr_push_get_switch_value(ndr, r);
3976 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3980 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3983 return NDR_ERR_SUCCESS;
3986 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3990 level = ndr_pull_get_switch_value(ndr, r);
3991 if (ndr_flags & NDR_SCALARS) {
3992 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3993 if (_level != level) {
3994 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3996 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3999 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
4003 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4006 if (ndr_flags & NDR_BUFFERS) {
4009 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
4013 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4016 return NDR_ERR_SUCCESS;
4019 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
4022 level = ndr_print_get_switch_value(ndr, r);
4023 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
4026 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
4030 ndr_print_bad_level(ndr, name, level);
4034 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4037 return NDR_ERR_SUCCESS;
4040 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4043 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4045 return NDR_ERR_SUCCESS;
4048 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4050 ndr_print_uint32(ndr, name, r);
4052 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4053 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4057 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
4059 if (ndr_flags & NDR_SCALARS) {
4060 NDR_CHECK(ndr_push_align(ndr, 5));
4061 if (r->naming_context == NULL) {
4062 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4064 NDR_CHECK(ndr_push_ref_ptr(ndr));
4065 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4066 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4067 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
4068 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4070 if (ndr_flags & NDR_BUFFERS) {
4071 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4072 if (r->source_dsa_address) {
4073 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4074 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4075 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4076 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));
4079 return NDR_ERR_SUCCESS;
4082 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
4084 uint32_t _ptr_naming_context;
4085 TALLOC_CTX *_mem_save_naming_context_0;
4086 uint32_t _ptr_source_dsa_address;
4087 TALLOC_CTX *_mem_save_source_dsa_address_0;
4088 if (ndr_flags & NDR_SCALARS) {
4089 NDR_CHECK(ndr_pull_align(ndr, 5));
4090 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4091 if (_ptr_naming_context) {
4092 NDR_PULL_ALLOC(ndr, r->naming_context);
4094 r->naming_context = NULL;
4096 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4097 if (_ptr_source_dsa_address) {
4098 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4100 r->source_dsa_address = NULL;
4102 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4103 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
4104 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4106 if (ndr_flags & NDR_BUFFERS) {
4107 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4108 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4109 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4110 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4111 if (r->source_dsa_address) {
4112 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4113 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4114 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4115 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4116 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4117 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));
4119 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4120 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));
4121 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4124 return NDR_ERR_SUCCESS;
4127 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
4129 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
4131 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4133 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4135 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4137 if (r->source_dsa_address) {
4138 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4141 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4142 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
4146 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
4148 if (ndr_flags & NDR_SCALARS) {
4149 NDR_CHECK(ndr_push_align(ndr, 5));
4150 if (r->naming_context == NULL) {
4151 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4153 NDR_CHECK(ndr_push_ref_ptr(ndr));
4154 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
4155 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
4156 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4157 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4158 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
4159 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4161 if (ndr_flags & NDR_BUFFERS) {
4162 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4163 if (r->source_dsa_dn) {
4164 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4166 if (r->transport_dn) {
4167 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4169 if (r->source_dsa_address) {
4170 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4171 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4172 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4173 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));
4176 return NDR_ERR_SUCCESS;
4179 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
4181 uint32_t _ptr_naming_context;
4182 TALLOC_CTX *_mem_save_naming_context_0;
4183 uint32_t _ptr_source_dsa_dn;
4184 TALLOC_CTX *_mem_save_source_dsa_dn_0;
4185 uint32_t _ptr_transport_dn;
4186 TALLOC_CTX *_mem_save_transport_dn_0;
4187 uint32_t _ptr_source_dsa_address;
4188 TALLOC_CTX *_mem_save_source_dsa_address_0;
4189 if (ndr_flags & NDR_SCALARS) {
4190 NDR_CHECK(ndr_pull_align(ndr, 5));
4191 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4192 if (_ptr_naming_context) {
4193 NDR_PULL_ALLOC(ndr, r->naming_context);
4195 r->naming_context = NULL;
4197 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
4198 if (_ptr_source_dsa_dn) {
4199 NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
4201 r->source_dsa_dn = NULL;
4203 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
4204 if (_ptr_transport_dn) {
4205 NDR_PULL_ALLOC(ndr, r->transport_dn);
4207 r->transport_dn = NULL;
4209 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4210 if (_ptr_source_dsa_address) {
4211 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4213 r->source_dsa_address = NULL;
4215 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4216 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
4217 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4219 if (ndr_flags & NDR_BUFFERS) {
4220 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4221 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4222 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4224 if (r->source_dsa_dn) {
4225 _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4226 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
4227 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4228 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
4230 if (r->transport_dn) {
4231 _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4232 NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
4233 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4234 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
4236 if (r->source_dsa_address) {
4237 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4238 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4239 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4240 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4241 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4242 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));
4244 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4245 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));
4246 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4249 return NDR_ERR_SUCCESS;
4252 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
4254 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
4256 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4258 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4260 ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
4262 if (r->source_dsa_dn) {
4263 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
4266 ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
4268 if (r->transport_dn) {
4269 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
4272 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4274 if (r->source_dsa_address) {
4275 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4278 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4279 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
4283 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
4285 if (ndr_flags & NDR_SCALARS) {
4286 int level = ndr_push_get_switch_value(ndr, r);
4287 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4288 NDR_CHECK(ndr_push_union_align(ndr, 5));
4291 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4295 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4299 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4302 if (ndr_flags & NDR_BUFFERS) {
4303 int level = ndr_push_get_switch_value(ndr, r);
4306 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4310 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4314 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4317 return NDR_ERR_SUCCESS;
4320 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
4324 level = ndr_pull_get_switch_value(ndr, r);
4325 if (ndr_flags & NDR_SCALARS) {
4326 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4327 if (_level != level) {
4328 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4330 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4333 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4337 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4341 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4344 if (ndr_flags & NDR_BUFFERS) {
4347 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4351 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4355 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4358 return NDR_ERR_SUCCESS;
4361 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4364 level = ndr_print_get_switch_value(ndr, r);
4365 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4368 ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4372 ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4376 ndr_print_bad_level(ndr, name, level);
4380 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4383 return NDR_ERR_SUCCESS;
4386 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4389 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4391 return NDR_ERR_SUCCESS;
4394 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4396 ndr_print_uint32(ndr, name, r);
4398 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4399 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4403 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4405 if (ndr_flags & NDR_SCALARS) {
4406 NDR_CHECK(ndr_push_align(ndr, 5));
4407 if (r->naming_context == NULL) {
4408 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4410 NDR_CHECK(ndr_push_ref_ptr(ndr));
4411 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4412 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->options));
4413 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4415 if (ndr_flags & NDR_BUFFERS) {
4416 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4417 if (r->source_dsa_address) {
4418 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4419 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4420 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4421 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));
4424 return NDR_ERR_SUCCESS;
4427 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4429 uint32_t _ptr_naming_context;
4430 TALLOC_CTX *_mem_save_naming_context_0;
4431 uint32_t _ptr_source_dsa_address;
4432 TALLOC_CTX *_mem_save_source_dsa_address_0;
4433 if (ndr_flags & NDR_SCALARS) {
4434 NDR_CHECK(ndr_pull_align(ndr, 5));
4435 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4436 if (_ptr_naming_context) {
4437 NDR_PULL_ALLOC(ndr, r->naming_context);
4439 r->naming_context = NULL;
4441 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4442 if (_ptr_source_dsa_address) {
4443 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4445 r->source_dsa_address = NULL;
4447 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->options));
4448 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4450 if (ndr_flags & NDR_BUFFERS) {
4451 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4452 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4453 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4454 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4455 if (r->source_dsa_address) {
4456 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4457 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4458 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4459 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4460 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4461 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));
4463 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4464 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));
4465 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4468 return NDR_ERR_SUCCESS;
4471 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4473 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4475 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4477 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4479 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4481 if (r->source_dsa_address) {
4482 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4485 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "options", r->options);
4489 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4491 if (ndr_flags & NDR_SCALARS) {
4492 int level = ndr_push_get_switch_value(ndr, r);
4493 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4494 NDR_CHECK(ndr_push_union_align(ndr, 5));
4497 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4501 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4504 if (ndr_flags & NDR_BUFFERS) {
4505 int level = ndr_push_get_switch_value(ndr, r);
4508 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4512 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4515 return NDR_ERR_SUCCESS;
4518 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4522 level = ndr_pull_get_switch_value(ndr, r);
4523 if (ndr_flags & NDR_SCALARS) {
4524 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4525 if (_level != level) {
4526 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4528 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4531 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4535 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4538 if (ndr_flags & NDR_BUFFERS) {
4541 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4545 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4548 return NDR_ERR_SUCCESS;
4551 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4554 level = ndr_print_get_switch_value(ndr, r);
4555 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4558 ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4562 ndr_print_bad_level(ndr, name, level);
4566 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4568 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4569 return NDR_ERR_SUCCESS;
4572 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4575 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4577 return NDR_ERR_SUCCESS;
4580 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4582 ndr_print_uint32(ndr, name, r);
4584 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4585 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4589 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4591 if (ndr_flags & NDR_SCALARS) {
4592 NDR_CHECK(ndr_push_align(ndr, 5));
4593 if (r->naming_context == NULL) {
4594 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4596 NDR_CHECK(ndr_push_ref_ptr(ndr));
4597 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4598 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4599 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags));
4601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4602 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->options));
4603 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4605 if (ndr_flags & NDR_BUFFERS) {
4606 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4607 if (r->source_dra_address) {
4608 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4609 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4610 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4611 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));
4614 return NDR_ERR_SUCCESS;
4617 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4619 uint32_t _ptr_naming_context;
4620 TALLOC_CTX *_mem_save_naming_context_0;
4621 uint32_t _ptr_source_dra_address;
4622 TALLOC_CTX *_mem_save_source_dra_address_0;
4623 if (ndr_flags & NDR_SCALARS) {
4624 NDR_CHECK(ndr_pull_align(ndr, 5));
4625 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4626 if (_ptr_naming_context) {
4627 NDR_PULL_ALLOC(ndr, r->naming_context);
4629 r->naming_context = NULL;
4631 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4632 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4633 if (_ptr_source_dra_address) {
4634 NDR_PULL_ALLOC(ndr, r->source_dra_address);
4636 r->source_dra_address = NULL;
4638 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4639 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags));
4640 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4641 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->options));
4642 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4644 if (ndr_flags & NDR_BUFFERS) {
4645 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4646 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4647 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4648 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4649 if (r->source_dra_address) {
4650 _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4651 NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4652 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4653 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4654 if (ndr_get_array_length(ndr, &r->source_dra_address) > ndr_get_array_size(ndr, &r->source_dra_address)) {
4655 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));
4657 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t)));
4658 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));
4659 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4662 return NDR_ERR_SUCCESS;
4665 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4667 ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4669 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4671 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4673 ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4674 ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4676 if (r->source_dra_address) {
4677 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4680 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4681 ndr_print_uint32(ndr, "replica_flags", r->replica_flags);
4682 ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4683 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "options", r->options);
4687 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4689 if (ndr_flags & NDR_SCALARS) {
4690 int level = ndr_push_get_switch_value(ndr, r);
4691 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4692 NDR_CHECK(ndr_push_union_align(ndr, 5));
4695 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4699 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4702 if (ndr_flags & NDR_BUFFERS) {
4703 int level = ndr_push_get_switch_value(ndr, r);
4706 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4710 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4713 return NDR_ERR_SUCCESS;
4716 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4720 level = ndr_pull_get_switch_value(ndr, r);
4721 if (ndr_flags & NDR_SCALARS) {
4722 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4723 if (_level != level) {
4724 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4726 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4729 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4733 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4736 if (ndr_flags & NDR_BUFFERS) {
4739 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4743 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4746 return NDR_ERR_SUCCESS;
4749 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
4752 level = ndr_print_get_switch_value(ndr, r);
4753 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
4756 ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
4760 ndr_print_bad_level(ndr, name, level);
4764 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
4766 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4767 return NDR_ERR_SUCCESS;
4770 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
4773 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4775 return NDR_ERR_SUCCESS;
4778 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
4780 const char *val = NULL;
4783 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4784 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4785 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4786 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4787 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4788 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4789 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4791 ndr_print_enum(ndr, name, "ENUM", val, r);
4794 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
4796 uint32_t cntr_info_array_1;
4797 uint32_t cntr_group_attrs_1;
4798 uint32_t cntr_sids_1;
4799 if (ndr_flags & NDR_SCALARS) {
4800 NDR_CHECK(ndr_push_align(ndr, 5));
4801 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4802 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4804 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4805 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
4806 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4807 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4809 if (ndr_flags & NDR_BUFFERS) {
4810 if (r->info_array) {
4811 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4812 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4813 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4815 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4816 if (r->info_array[cntr_info_array_1]) {
4817 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4821 if (r->group_attrs) {
4822 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4823 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4824 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
4828 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
4829 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4830 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
4832 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4833 if (r->sids[cntr_sids_1]) {
4834 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4839 return NDR_ERR_SUCCESS;
4842 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
4844 uint32_t _ptr_info_array;
4845 uint32_t cntr_info_array_1;
4846 TALLOC_CTX *_mem_save_info_array_0;
4847 TALLOC_CTX *_mem_save_info_array_1;
4848 TALLOC_CTX *_mem_save_info_array_2;
4849 uint32_t _ptr_group_attrs;
4850 uint32_t cntr_group_attrs_1;
4851 TALLOC_CTX *_mem_save_group_attrs_0;
4852 TALLOC_CTX *_mem_save_group_attrs_1;
4854 uint32_t cntr_sids_1;
4855 TALLOC_CTX *_mem_save_sids_0;
4856 TALLOC_CTX *_mem_save_sids_1;
4857 TALLOC_CTX *_mem_save_sids_2;
4858 if (ndr_flags & NDR_SCALARS) {
4859 NDR_CHECK(ndr_pull_align(ndr, 5));
4860 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4861 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
4862 if (r->num_memberships > 10000) {
4863 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4865 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
4866 if (r->num_sids > 10000) {
4867 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4869 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4870 if (_ptr_info_array) {
4871 NDR_PULL_ALLOC(ndr, r->info_array);
4873 r->info_array = NULL;
4875 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
4876 if (_ptr_group_attrs) {
4877 NDR_PULL_ALLOC(ndr, r->group_attrs);
4879 r->group_attrs = NULL;
4881 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4883 NDR_PULL_ALLOC(ndr, r->sids);
4887 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4889 if (ndr_flags & NDR_BUFFERS) {
4890 if (r->info_array) {
4891 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4892 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4893 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4894 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4895 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4896 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4897 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4898 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4899 if (_ptr_info_array) {
4900 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4902 r->info_array[cntr_info_array_1] = NULL;
4905 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4906 if (r->info_array[cntr_info_array_1]) {
4907 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4908 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4909 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4910 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4913 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4916 if (r->group_attrs) {
4917 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
4918 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4919 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
4920 NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs));
4921 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
4922 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4923 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4924 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
4926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
4927 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
4930 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4931 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4932 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4933 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
4934 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4935 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4936 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4937 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4939 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
4941 r->sids[cntr_sids_1] = NULL;
4944 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4945 if (r->sids[cntr_sids_1]) {
4946 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
4947 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
4948 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4949 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
4952 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4953 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4955 if (r->info_array) {
4956 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
4958 if (r->group_attrs) {
4959 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
4962 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
4965 return NDR_ERR_SUCCESS;
4968 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
4970 uint32_t cntr_info_array_1;
4971 uint32_t cntr_group_attrs_1;
4972 uint32_t cntr_sids_1;
4973 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
4975 ndr_print_NTSTATUS(ndr, "status", r->status);
4976 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
4977 ndr_print_uint32(ndr, "num_sids", r->num_sids);
4978 ndr_print_ptr(ndr, "info_array", r->info_array);
4980 if (r->info_array) {
4981 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
4983 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
4985 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4986 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4988 if (r->info_array[cntr_info_array_1]) {
4989 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4998 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
5000 if (r->group_attrs) {
5001 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
5003 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
5005 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
5006 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
5013 ndr_print_ptr(ndr, "sids", r->sids);
5016 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
5018 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
5020 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
5021 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
5023 if (r->sids[cntr_sids_1]) {
5024 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
5036 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
5038 if (ndr_flags & NDR_SCALARS) {
5039 int level = ndr_push_get_switch_value(ndr, r);
5040 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5041 NDR_CHECK(ndr_push_union_align(ndr, 5));
5044 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5048 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5051 if (ndr_flags & NDR_BUFFERS) {
5052 int level = ndr_push_get_switch_value(ndr, r);
5055 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5059 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5062 return NDR_ERR_SUCCESS;
5065 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
5069 level = ndr_pull_get_switch_value(ndr, r);
5070 if (ndr_flags & NDR_SCALARS) {
5071 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5072 if (_level != level) {
5073 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5075 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5078 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5082 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5085 if (ndr_flags & NDR_BUFFERS) {
5088 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5092 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5095 return NDR_ERR_SUCCESS;
5098 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
5101 level = ndr_print_get_switch_value(ndr, r);
5102 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
5105 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
5109 ndr_print_bad_level(ndr, name, level);
5113 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
5115 uint32_t cntr_info_array_1;
5116 if (ndr_flags & NDR_SCALARS) {
5117 NDR_CHECK(ndr_push_align(ndr, 5));
5118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5119 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
5120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5121 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
5122 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5123 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5125 if (ndr_flags & NDR_BUFFERS) {
5126 if (r->info_array) {
5127 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5128 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5129 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
5131 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5132 if (r->info_array[cntr_info_array_1]) {
5133 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5138 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5141 return NDR_ERR_SUCCESS;
5144 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
5146 uint32_t _ptr_info_array;
5147 uint32_t cntr_info_array_1;
5148 TALLOC_CTX *_mem_save_info_array_0;
5149 TALLOC_CTX *_mem_save_info_array_1;
5150 TALLOC_CTX *_mem_save_info_array_2;
5151 uint32_t _ptr_domain;
5152 TALLOC_CTX *_mem_save_domain_0;
5153 if (ndr_flags & NDR_SCALARS) {
5154 NDR_CHECK(ndr_pull_align(ndr, 5));
5155 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5156 if (r->count < 1 || r->count > 10000) {
5157 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5159 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5160 if (_ptr_info_array) {
5161 NDR_PULL_ALLOC(ndr, r->info_array);
5163 r->info_array = NULL;
5165 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5166 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
5167 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5169 NDR_PULL_ALLOC(ndr, r->domain);
5173 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5175 if (ndr_flags & NDR_BUFFERS) {
5176 if (r->info_array) {
5177 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5178 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5179 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5180 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
5181 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5182 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5183 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5184 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5185 if (_ptr_info_array) {
5186 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5188 r->info_array[cntr_info_array_1] = NULL;
5191 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5192 if (r->info_array[cntr_info_array_1]) {
5193 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5194 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5195 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5199 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5203 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5204 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5205 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5208 if (r->info_array) {
5209 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
5212 return NDR_ERR_SUCCESS;
5215 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
5217 uint32_t cntr_info_array_1;
5218 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
5220 ndr_print_uint32(ndr, "count", r->count);
5221 ndr_print_ptr(ndr, "info_array", r->info_array);
5223 if (r->info_array) {
5224 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
5226 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
5228 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
5229 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5231 if (r->info_array[cntr_info_array_1]) {
5232 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5241 ndr_print_uint32(ndr, "flags", r->flags);
5242 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
5243 ndr_print_ptr(ndr, "domain", r->domain);
5246 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
5252 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
5254 if (ndr_flags & NDR_SCALARS) {
5255 int level = ndr_push_get_switch_value(ndr, r);
5256 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5257 NDR_CHECK(ndr_push_union_align(ndr, 5));
5260 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5264 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5267 if (ndr_flags & NDR_BUFFERS) {
5268 int level = ndr_push_get_switch_value(ndr, r);
5271 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5275 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5278 return NDR_ERR_SUCCESS;
5281 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
5285 level = ndr_pull_get_switch_value(ndr, r);
5286 if (ndr_flags & NDR_SCALARS) {
5287 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5288 if (_level != level) {
5289 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5291 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5294 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5298 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5301 if (ndr_flags & NDR_BUFFERS) {
5304 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5308 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5311 return NDR_ERR_SUCCESS;
5314 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
5317 level = ndr_print_get_switch_value(ndr, r);
5318 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
5321 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
5325 ndr_print_bad_level(ndr, name, level);
5329 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5331 if (ndr_flags & NDR_SCALARS) {
5332 NDR_CHECK(ndr_push_align(ndr, 5));
5333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5334 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5335 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5336 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5337 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5339 if (ndr_flags & NDR_BUFFERS) {
5341 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
5342 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5345 return NDR_ERR_SUCCESS;
5348 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5351 TALLOC_CTX *_mem_save_data_0;
5352 if (ndr_flags & NDR_SCALARS) {
5353 NDR_CHECK(ndr_pull_align(ndr, 5));
5354 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5355 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5356 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5357 if (r->length > 0x00A00000) {
5358 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5360 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5362 NDR_PULL_ALLOC(ndr, r->data);
5366 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5368 if (ndr_flags & NDR_BUFFERS) {
5370 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5371 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5372 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5373 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
5374 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
5375 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5378 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5381 return NDR_ERR_SUCCESS;
5384 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5386 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5388 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5389 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5390 ndr_print_uint32(ndr, "length", r->length);
5391 ndr_print_ptr(ndr, "data", r->data);
5394 ndr_print_array_uint8(ndr, "data", r->data, r->length);
5400 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5402 if (ndr_flags & NDR_SCALARS) {
5403 int level = ndr_push_get_switch_value(ndr, r);
5404 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5405 NDR_CHECK(ndr_push_union_align(ndr, 5));
5408 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5412 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5415 if (ndr_flags & NDR_BUFFERS) {
5416 int level = ndr_push_get_switch_value(ndr, r);
5419 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5423 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5426 return NDR_ERR_SUCCESS;
5429 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5433 level = ndr_pull_get_switch_value(ndr, r);
5434 if (ndr_flags & NDR_SCALARS) {
5435 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5436 if (_level != level) {
5437 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5439 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5442 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5446 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5449 if (ndr_flags & NDR_BUFFERS) {
5452 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5456 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5459 return NDR_ERR_SUCCESS;
5462 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5465 level = ndr_print_get_switch_value(ndr, r);
5466 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5469 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5473 ndr_print_bad_level(ndr, name, level);
5477 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5479 if (ndr_flags & NDR_SCALARS) {
5480 NDR_CHECK(ndr_push_align(ndr, 8));
5481 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
5482 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
5483 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
5484 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time2));
5485 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3));
5486 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time4));
5487 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5));
5488 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time6));
5489 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5490 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data1));
5491 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data2));
5492 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5494 if (ndr_flags & NDR_BUFFERS) {
5496 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length1));
5497 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data1, r->length1));
5500 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length2));
5501 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data2, r->length2));
5504 return NDR_ERR_SUCCESS;
5507 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5509 uint32_t _ptr_data1;
5510 TALLOC_CTX *_mem_save_data1_0;
5511 uint32_t _ptr_data2;
5512 TALLOC_CTX *_mem_save_data2_0;
5513 if (ndr_flags & NDR_SCALARS) {
5514 NDR_CHECK(ndr_pull_align(ndr, 8));
5515 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length1));
5516 if (r->length1 > 0x00A00000) {
5517 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5519 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length2));
5520 if (r->length2 > 0x00A00000) {
5521 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5523 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
5524 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time2));
5525 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3));
5526 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time4));
5527 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5));
5528 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time6));
5529 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5530 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data1));
5532 NDR_PULL_ALLOC(ndr, r->data1);
5536 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data2));
5538 NDR_PULL_ALLOC(ndr, r->data2);
5542 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5544 if (ndr_flags & NDR_BUFFERS) {
5546 _mem_save_data1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5547 NDR_PULL_SET_MEM_CTX(ndr, r->data1, 0);
5548 NDR_CHECK(ndr_pull_array_size(ndr, &r->data1));
5549 NDR_PULL_ALLOC_N(ndr, r->data1, ndr_get_array_size(ndr, &r->data1));
5550 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data1, ndr_get_array_size(ndr, &r->data1)));
5551 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data1_0, 0);
5554 _mem_save_data2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5555 NDR_PULL_SET_MEM_CTX(ndr, r->data2, 0);
5556 NDR_CHECK(ndr_pull_array_size(ndr, &r->data2));
5557 NDR_PULL_ALLOC_N(ndr, r->data2, ndr_get_array_size(ndr, &r->data2));
5558 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data2, ndr_get_array_size(ndr, &r->data2)));
5559 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data2_0, 0);
5562 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data1, r->length1));
5565 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data2, r->length2));
5568 return NDR_ERR_SUCCESS;
5571 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5573 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5575 ndr_print_uint32(ndr, "length1", r->length1);
5576 ndr_print_uint32(ndr, "length2", r->length2);
5577 ndr_print_hyper(ndr, "unknown1", r->unknown1);
5578 ndr_print_NTTIME(ndr, "time2", r->time2);
5579 ndr_print_hyper(ndr, "unknown3", r->unknown3);
5580 ndr_print_NTTIME(ndr, "time4", r->time4);
5581 ndr_print_hyper(ndr, "unknown5", r->unknown5);
5582 ndr_print_NTTIME(ndr, "time6", r->time6);
5583 ndr_print_NTSTATUS(ndr, "status", r->status);
5584 ndr_print_ptr(ndr, "data1", r->data1);
5587 ndr_print_array_uint8(ndr, "data1", r->data1, r->length1);
5590 ndr_print_ptr(ndr, "data2", r->data2);
5593 ndr_print_array_uint8(ndr, "data2", r->data2, r->length2);
5599 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5601 if (ndr_flags & NDR_SCALARS) {
5602 int level = ndr_push_get_switch_value(ndr, r);
5603 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5604 NDR_CHECK(ndr_push_union_align(ndr, 8));
5607 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5611 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5614 if (ndr_flags & NDR_BUFFERS) {
5615 int level = ndr_push_get_switch_value(ndr, r);
5618 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5622 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5625 return NDR_ERR_SUCCESS;
5628 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5632 level = ndr_pull_get_switch_value(ndr, r);
5633 if (ndr_flags & NDR_SCALARS) {
5634 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5635 if (_level != level) {
5636 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5638 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5641 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5645 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5648 if (ndr_flags & NDR_BUFFERS) {
5651 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5655 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5658 return NDR_ERR_SUCCESS;
5661 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5664 level = ndr_print_get_switch_value(ndr, r);
5665 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5668 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5672 ndr_print_bad_level(ndr, name, level);
5676 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5678 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5679 return NDR_ERR_SUCCESS;
5682 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5685 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5687 return NDR_ERR_SUCCESS;
5690 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5692 const char *val = NULL;
5695 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5696 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5697 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5698 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5699 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5700 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5701 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5702 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5704 ndr_print_enum(ndr, name, "ENUM", val, r);
5707 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5709 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5710 return NDR_ERR_SUCCESS;
5713 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5716 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5718 return NDR_ERR_SUCCESS;
5721 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5723 const char *val = NULL;
5726 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5727 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5728 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5729 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5730 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5732 ndr_print_enum(ndr, name, "ENUM", val, r);
5735 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5737 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5738 return NDR_ERR_SUCCESS;
5741 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5744 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5746 return NDR_ERR_SUCCESS;
5749 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5751 const char *val = NULL;
5754 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5755 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5756 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5757 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5758 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5759 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5760 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5761 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5762 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5763 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5764 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5766 ndr_print_enum(ndr, name, "ENUM", val, r);
5769 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5771 if (ndr_flags & NDR_SCALARS) {
5772 NDR_CHECK(ndr_push_align(ndr, 5));
5773 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5774 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5776 if (ndr_flags & NDR_BUFFERS) {
5778 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5779 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5780 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5781 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5784 return NDR_ERR_SUCCESS;
5787 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5790 TALLOC_CTX *_mem_save_str_0;
5791 if (ndr_flags & NDR_SCALARS) {
5792 NDR_CHECK(ndr_pull_align(ndr, 5));
5793 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5795 NDR_PULL_ALLOC(ndr, r->str);
5799 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5801 if (ndr_flags & NDR_BUFFERS) {
5803 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5804 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5805 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5806 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5807 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
5808 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));
5810 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
5811 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
5812 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5815 return NDR_ERR_SUCCESS;
5818 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5820 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5822 ndr_print_ptr(ndr, "str", r->str);
5825 ndr_print_string(ndr, "str", r->str);
5831 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5833 uint32_t cntr_names_1;
5834 if (ndr_flags & NDR_SCALARS) {
5835 NDR_CHECK(ndr_push_align(ndr, 5));
5836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5837 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5838 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5839 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5840 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5841 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5842 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5843 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5845 if (ndr_flags & NDR_BUFFERS) {
5847 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5848 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5849 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5851 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5852 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5856 return NDR_ERR_SUCCESS;
5859 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5861 uint32_t _ptr_names;
5862 uint32_t cntr_names_1;
5863 TALLOC_CTX *_mem_save_names_0;
5864 TALLOC_CTX *_mem_save_names_1;
5865 if (ndr_flags & NDR_SCALARS) {
5866 NDR_CHECK(ndr_pull_align(ndr, 5));
5867 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5868 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5869 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5870 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5871 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5872 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5873 if (r->count < 1 || r->count > 10000) {
5874 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5876 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5878 NDR_PULL_ALLOC(ndr, r->names);
5882 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5884 if (ndr_flags & NDR_BUFFERS) {
5886 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5887 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5888 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
5889 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
5890 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5891 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5892 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5893 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5895 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5896 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
5899 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
5902 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
5905 return NDR_ERR_SUCCESS;
5908 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
5910 uint32_t cntr_names_1;
5911 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
5913 ndr_print_uint32(ndr, "codepage", r->codepage);
5914 ndr_print_uint32(ndr, "language", r->language);
5915 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
5916 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
5917 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
5918 ndr_print_uint32(ndr, "count", r->count);
5919 ndr_print_ptr(ndr, "names", r->names);
5922 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
5924 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
5926 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
5927 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
5937 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
5939 if (ndr_flags & NDR_SCALARS) {
5940 int level = ndr_push_get_switch_value(ndr, r);
5941 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5942 NDR_CHECK(ndr_push_union_align(ndr, 5));
5945 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5949 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5952 if (ndr_flags & NDR_BUFFERS) {
5953 int level = ndr_push_get_switch_value(ndr, r);
5956 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5960 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5963 return NDR_ERR_SUCCESS;
5966 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
5970 level = ndr_pull_get_switch_value(ndr, r);
5971 if (ndr_flags & NDR_SCALARS) {
5972 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5973 if (_level != level) {
5974 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5976 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5979 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5983 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5986 if (ndr_flags & NDR_BUFFERS) {
5989 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5993 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5996 return NDR_ERR_SUCCESS;
5999 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
6002 level = ndr_print_get_switch_value(ndr, r);
6003 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
6006 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
6010 ndr_print_bad_level(ndr, name, level);
6014 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
6016 if (ndr_flags & NDR_SCALARS) {
6017 NDR_CHECK(ndr_push_align(ndr, 5));
6018 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
6019 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
6020 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
6021 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6023 if (ndr_flags & NDR_BUFFERS) {
6024 if (r->dns_domain_name) {
6025 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
6026 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6027 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
6028 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));
6030 if (r->result_name) {
6031 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
6032 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6033 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
6034 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6037 return NDR_ERR_SUCCESS;
6040 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
6042 uint32_t _ptr_dns_domain_name;
6043 TALLOC_CTX *_mem_save_dns_domain_name_0;
6044 uint32_t _ptr_result_name;
6045 TALLOC_CTX *_mem_save_result_name_0;
6046 if (ndr_flags & NDR_SCALARS) {
6047 NDR_CHECK(ndr_pull_align(ndr, 5));
6048 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
6049 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
6050 if (_ptr_dns_domain_name) {
6051 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
6053 r->dns_domain_name = NULL;
6055 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
6056 if (_ptr_result_name) {
6057 NDR_PULL_ALLOC(ndr, r->result_name);
6059 r->result_name = NULL;
6061 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6063 if (ndr_flags & NDR_BUFFERS) {
6064 if (r->dns_domain_name) {
6065 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6066 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
6067 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
6068 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
6069 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
6070 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));
6072 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
6073 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));
6074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
6076 if (r->result_name) {
6077 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6078 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
6079 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
6080 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
6081 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
6082 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));
6084 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
6085 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
6086 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
6089 return NDR_ERR_SUCCESS;
6092 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
6094 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
6096 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
6097 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
6099 if (r->dns_domain_name) {
6100 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
6103 ndr_print_ptr(ndr, "result_name", r->result_name);
6105 if (r->result_name) {
6106 ndr_print_string(ndr, "result_name", r->result_name);
6112 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
6114 uint32_t cntr_array_1;
6115 if (ndr_flags & NDR_SCALARS) {
6116 NDR_CHECK(ndr_push_align(ndr, 5));
6117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6118 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6119 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6121 if (ndr_flags & NDR_BUFFERS) {
6123 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6124 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6125 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6127 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6128 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6132 return NDR_ERR_SUCCESS;
6135 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
6137 uint32_t _ptr_array;
6138 uint32_t cntr_array_1;
6139 TALLOC_CTX *_mem_save_array_0;
6140 TALLOC_CTX *_mem_save_array_1;
6141 if (ndr_flags & NDR_SCALARS) {
6142 NDR_CHECK(ndr_pull_align(ndr, 5));
6143 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6144 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6146 NDR_PULL_ALLOC(ndr, r->array);
6150 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6152 if (ndr_flags & NDR_BUFFERS) {
6154 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6155 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6156 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6157 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6158 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6159 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6160 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6161 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6163 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6164 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6167 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6170 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6173 return NDR_ERR_SUCCESS;
6176 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6178 uint32_t cntr_array_1;
6179 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6181 ndr_print_uint32(ndr, "count", r->count);
6182 ndr_print_ptr(ndr, "array", r->array);
6185 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6187 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6189 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6190 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6200 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6202 if (ndr_flags & NDR_SCALARS) {
6203 int level = ndr_push_get_switch_value(ndr, r);
6204 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6205 NDR_CHECK(ndr_push_union_align(ndr, 5));
6208 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6212 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6215 if (ndr_flags & NDR_BUFFERS) {
6216 int level = ndr_push_get_switch_value(ndr, r);
6220 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6225 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6228 return NDR_ERR_SUCCESS;
6231 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6235 TALLOC_CTX *_mem_save_ctr1_0;
6236 level = ndr_pull_get_switch_value(ndr, r);
6237 if (ndr_flags & NDR_SCALARS) {
6238 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6239 if (_level != level) {
6240 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6242 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6246 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6248 NDR_PULL_ALLOC(ndr, r->ctr1);
6255 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6258 if (ndr_flags & NDR_BUFFERS) {
6262 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6263 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6264 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6265 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6270 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6273 return NDR_ERR_SUCCESS;
6276 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6279 level = ndr_print_get_switch_value(ndr, r);
6280 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6283 ndr_print_ptr(ndr, "ctr1", r->ctr1);
6286 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6292 ndr_print_bad_level(ndr, name, level);
6296 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6298 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6299 return NDR_ERR_SUCCESS;
6302 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6305 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6307 return NDR_ERR_SUCCESS;
6310 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6312 const char *val = NULL;
6315 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6316 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6317 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6319 ndr_print_enum(ndr, name, "ENUM", val, r);
6322 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6324 uint32_t cntr_spn_names_1;
6325 if (ndr_flags & NDR_SCALARS) {
6326 NDR_CHECK(ndr_push_align(ndr, 5));
6327 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6328 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6329 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6331 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6332 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6334 if (ndr_flags & NDR_BUFFERS) {
6336 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6337 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6338 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6339 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6342 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6343 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6344 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6346 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6347 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6351 return NDR_ERR_SUCCESS;
6354 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6356 uint32_t _ptr_object_dn;
6357 TALLOC_CTX *_mem_save_object_dn_0;
6358 uint32_t _ptr_spn_names;
6359 uint32_t cntr_spn_names_1;
6360 TALLOC_CTX *_mem_save_spn_names_0;
6361 TALLOC_CTX *_mem_save_spn_names_1;
6362 if (ndr_flags & NDR_SCALARS) {
6363 NDR_CHECK(ndr_pull_align(ndr, 5));
6364 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6365 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6366 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6367 if (_ptr_object_dn) {
6368 NDR_PULL_ALLOC(ndr, r->object_dn);
6370 r->object_dn = NULL;
6372 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6373 if (r->count > 10000) {
6374 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6376 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6377 if (_ptr_spn_names) {
6378 NDR_PULL_ALLOC(ndr, r->spn_names);
6380 r->spn_names = NULL;
6382 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6384 if (ndr_flags & NDR_BUFFERS) {
6386 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6387 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6388 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6389 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6390 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
6391 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));
6393 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
6394 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
6395 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6398 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6399 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6400 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6401 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
6402 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6403 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6404 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6405 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6407 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6408 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6410 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6411 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6414 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6417 return NDR_ERR_SUCCESS;
6420 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6422 uint32_t cntr_spn_names_1;
6423 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6425 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6426 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6427 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6430 ndr_print_string(ndr, "object_dn", r->object_dn);
6433 ndr_print_uint32(ndr, "count", r->count);
6434 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6437 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6439 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6441 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
6442 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6452 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6454 if (ndr_flags & NDR_SCALARS) {
6455 int level = ndr_push_get_switch_value(ndr, r);
6456 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6457 NDR_CHECK(ndr_push_union_align(ndr, 5));
6460 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6464 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6467 if (ndr_flags & NDR_BUFFERS) {
6468 int level = ndr_push_get_switch_value(ndr, r);
6471 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6475 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6478 return NDR_ERR_SUCCESS;
6481 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6485 level = ndr_pull_get_switch_value(ndr, r);
6486 if (ndr_flags & NDR_SCALARS) {
6487 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6488 if (_level != level) {
6489 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6491 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6494 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6498 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6501 if (ndr_flags & NDR_BUFFERS) {
6504 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6508 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6511 return NDR_ERR_SUCCESS;
6514 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6517 level = ndr_print_get_switch_value(ndr, r);
6518 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6521 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6525 ndr_print_bad_level(ndr, name, level);
6529 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6531 if (ndr_flags & NDR_SCALARS) {
6532 NDR_CHECK(ndr_push_align(ndr, 4));
6533 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6534 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6536 if (ndr_flags & NDR_BUFFERS) {
6538 return NDR_ERR_SUCCESS;
6541 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6543 if (ndr_flags & NDR_SCALARS) {
6544 NDR_CHECK(ndr_pull_align(ndr, 4));
6545 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6546 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6548 if (ndr_flags & NDR_BUFFERS) {
6550 return NDR_ERR_SUCCESS;
6553 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6555 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6557 ndr_print_WERROR(ndr, "status", r->status);
6561 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6563 if (ndr_flags & NDR_SCALARS) {
6564 int level = ndr_push_get_switch_value(ndr, r);
6565 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6566 NDR_CHECK(ndr_push_union_align(ndr, 4));
6569 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6573 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6576 if (ndr_flags & NDR_BUFFERS) {
6577 int level = ndr_push_get_switch_value(ndr, r);
6583 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6586 return NDR_ERR_SUCCESS;
6589 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6593 level = ndr_pull_get_switch_value(ndr, r);
6594 if (ndr_flags & NDR_SCALARS) {
6595 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6596 if (_level != level) {
6597 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6599 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6602 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6606 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6609 if (ndr_flags & NDR_BUFFERS) {
6615 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6618 return NDR_ERR_SUCCESS;
6621 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6624 level = ndr_print_get_switch_value(ndr, r);
6625 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6628 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6632 ndr_print_bad_level(ndr, name, level);
6636 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6638 if (ndr_flags & NDR_SCALARS) {
6639 NDR_CHECK(ndr_push_align(ndr, 5));
6640 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6641 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6642 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6643 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6645 if (ndr_flags & NDR_BUFFERS) {
6647 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6648 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6649 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6650 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6653 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6654 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6655 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6656 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6659 return NDR_ERR_SUCCESS;
6662 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6664 uint32_t _ptr_server_dn;
6665 TALLOC_CTX *_mem_save_server_dn_0;
6666 uint32_t _ptr_domain_dn;
6667 TALLOC_CTX *_mem_save_domain_dn_0;
6668 if (ndr_flags & NDR_SCALARS) {
6669 NDR_CHECK(ndr_pull_align(ndr, 5));
6670 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6671 if (_ptr_server_dn) {
6672 NDR_PULL_ALLOC(ndr, r->server_dn);
6674 r->server_dn = NULL;
6676 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6677 if (_ptr_domain_dn) {
6678 NDR_PULL_ALLOC(ndr, r->domain_dn);
6680 r->domain_dn = NULL;
6682 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6683 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6685 if (ndr_flags & NDR_BUFFERS) {
6687 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6688 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6689 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6690 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6691 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6692 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));
6694 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6695 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6699 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6700 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6701 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6702 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6703 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
6704 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));
6706 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
6707 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
6708 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6711 return NDR_ERR_SUCCESS;
6714 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6716 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6718 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6721 ndr_print_string(ndr, "server_dn", r->server_dn);
6724 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6727 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6730 ndr_print_uint32(ndr, "commit", r->commit);
6734 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6736 if (ndr_flags & NDR_SCALARS) {
6737 int level = ndr_push_get_switch_value(ndr, r);
6738 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6739 NDR_CHECK(ndr_push_union_align(ndr, 5));
6742 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6746 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6749 if (ndr_flags & NDR_BUFFERS) {
6750 int level = ndr_push_get_switch_value(ndr, r);
6753 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6757 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6760 return NDR_ERR_SUCCESS;
6763 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6767 level = ndr_pull_get_switch_value(ndr, r);
6768 if (ndr_flags & NDR_SCALARS) {
6769 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6770 if (_level != level) {
6771 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6773 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6776 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6780 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6783 if (ndr_flags & NDR_BUFFERS) {
6786 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6790 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6793 return NDR_ERR_SUCCESS;
6796 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6799 level = ndr_print_get_switch_value(ndr, r);
6800 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6803 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6807 ndr_print_bad_level(ndr, name, level);
6811 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6813 if (ndr_flags & NDR_SCALARS) {
6814 NDR_CHECK(ndr_push_align(ndr, 4));
6815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6816 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6818 if (ndr_flags & NDR_BUFFERS) {
6820 return NDR_ERR_SUCCESS;
6823 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6825 if (ndr_flags & NDR_SCALARS) {
6826 NDR_CHECK(ndr_pull_align(ndr, 4));
6827 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6828 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6830 if (ndr_flags & NDR_BUFFERS) {
6832 return NDR_ERR_SUCCESS;
6835 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6837 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
6839 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
6843 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
6845 if (ndr_flags & NDR_SCALARS) {
6846 int level = ndr_push_get_switch_value(ndr, r);
6847 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6848 NDR_CHECK(ndr_push_union_align(ndr, 4));
6851 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6855 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6858 if (ndr_flags & NDR_BUFFERS) {
6859 int level = ndr_push_get_switch_value(ndr, r);
6865 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6868 return NDR_ERR_SUCCESS;
6871 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
6875 level = ndr_pull_get_switch_value(ndr, r);
6876 if (ndr_flags & NDR_SCALARS) {
6877 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6878 if (_level != level) {
6879 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6881 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6884 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6888 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6891 if (ndr_flags & NDR_BUFFERS) {
6897 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6900 return NDR_ERR_SUCCESS;
6903 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
6906 level = ndr_print_get_switch_value(ndr, r);
6907 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
6910 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
6914 ndr_print_bad_level(ndr, name, level);
6918 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
6920 if (ndr_flags & NDR_SCALARS) {
6921 NDR_CHECK(ndr_push_align(ndr, 5));
6922 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6923 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
6924 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6926 if (ndr_flags & NDR_BUFFERS) {
6927 if (r->domain_name) {
6928 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6929 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6930 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6931 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6934 return NDR_ERR_SUCCESS;
6937 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
6939 uint32_t _ptr_domain_name;
6940 TALLOC_CTX *_mem_save_domain_name_0;
6941 if (ndr_flags & NDR_SCALARS) {
6942 NDR_CHECK(ndr_pull_align(ndr, 5));
6943 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6944 if (_ptr_domain_name) {
6945 NDR_PULL_ALLOC(ndr, r->domain_name);
6947 r->domain_name = NULL;
6949 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
6950 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6952 if (ndr_flags & NDR_BUFFERS) {
6953 if (r->domain_name) {
6954 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6955 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6956 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6957 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6958 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6959 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));
6961 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6962 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6963 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6966 return NDR_ERR_SUCCESS;
6969 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
6971 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
6973 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6975 if (r->domain_name) {
6976 ndr_print_string(ndr, "domain_name", r->domain_name);
6979 ndr_print_int32(ndr, "level", r->level);
6983 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
6985 if (ndr_flags & NDR_SCALARS) {
6986 int level = ndr_push_get_switch_value(ndr, r);
6987 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6988 NDR_CHECK(ndr_push_union_align(ndr, 5));
6991 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6995 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6998 if (ndr_flags & NDR_BUFFERS) {
6999 int level = ndr_push_get_switch_value(ndr, r);
7002 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
7006 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7009 return NDR_ERR_SUCCESS;
7012 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
7016 level = ndr_pull_get_switch_value(ndr, r);
7017 if (ndr_flags & NDR_SCALARS) {
7018 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
7019 if (_level != level) {
7020 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7022 NDR_CHECK(ndr_pull_union_align(ndr, 5));
7025 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
7029 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7032 if (ndr_flags & NDR_BUFFERS) {
7035 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
7039 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7042 return NDR_ERR_SUCCESS;
7045 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
7048 level = ndr_print_get_switch_value(ndr, r);
7049 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
7052 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
7056 ndr_print_bad_level(ndr, name, level);
7060 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
7062 if (ndr_flags & NDR_SCALARS) {
7063 NDR_CHECK(ndr_push_align(ndr, 5));
7064 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7065 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7066 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7067 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7068 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7069 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7070 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7071 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7073 if (ndr_flags & NDR_BUFFERS) {
7074 if (r->netbios_name) {
7075 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7076 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7077 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7078 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7081 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7082 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7083 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7084 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7087 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7088 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7089 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7090 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7092 if (r->computer_dn) {
7093 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7094 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7095 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7096 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7099 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7100 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7101 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7102 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7105 return NDR_ERR_SUCCESS;
7108 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
7110 uint32_t _ptr_netbios_name;
7111 TALLOC_CTX *_mem_save_netbios_name_0;
7112 uint32_t _ptr_dns_name;
7113 TALLOC_CTX *_mem_save_dns_name_0;
7114 uint32_t _ptr_site_name;
7115 TALLOC_CTX *_mem_save_site_name_0;
7116 uint32_t _ptr_computer_dn;
7117 TALLOC_CTX *_mem_save_computer_dn_0;
7118 uint32_t _ptr_server_dn;
7119 TALLOC_CTX *_mem_save_server_dn_0;
7120 if (ndr_flags & NDR_SCALARS) {
7121 NDR_CHECK(ndr_pull_align(ndr, 5));
7122 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7123 if (_ptr_netbios_name) {
7124 NDR_PULL_ALLOC(ndr, r->netbios_name);
7126 r->netbios_name = NULL;
7128 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7129 if (_ptr_dns_name) {
7130 NDR_PULL_ALLOC(ndr, r->dns_name);
7134 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7135 if (_ptr_site_name) {
7136 NDR_PULL_ALLOC(ndr, r->site_name);
7138 r->site_name = NULL;
7140 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7141 if (_ptr_computer_dn) {
7142 NDR_PULL_ALLOC(ndr, r->computer_dn);
7144 r->computer_dn = NULL;
7146 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7147 if (_ptr_server_dn) {
7148 NDR_PULL_ALLOC(ndr, r->server_dn);
7150 r->server_dn = NULL;
7152 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7153 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7154 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7156 if (ndr_flags & NDR_BUFFERS) {
7157 if (r->netbios_name) {
7158 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7159 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7160 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7161 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7162 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7163 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));
7165 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7166 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7167 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7170 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7171 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7172 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7173 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7174 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7175 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));
7177 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7178 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7179 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7182 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7183 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7184 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7185 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7186 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7187 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));
7189 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7190 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7193 if (r->computer_dn) {
7194 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7195 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7196 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7197 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7198 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7199 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));
7201 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7202 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7203 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7206 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7207 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7208 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7209 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7210 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7211 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));
7213 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7214 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7218 return NDR_ERR_SUCCESS;
7221 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7223 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7225 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7227 if (r->netbios_name) {
7228 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7231 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7234 ndr_print_string(ndr, "dns_name", r->dns_name);
7237 ndr_print_ptr(ndr, "site_name", r->site_name);
7240 ndr_print_string(ndr, "site_name", r->site_name);
7243 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7245 if (r->computer_dn) {
7246 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7249 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7252 ndr_print_string(ndr, "server_dn", r->server_dn);
7255 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7256 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7260 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7262 uint32_t cntr_array_1;
7263 if (ndr_flags & NDR_SCALARS) {
7264 NDR_CHECK(ndr_push_align(ndr, 5));
7265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7266 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7267 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7269 if (ndr_flags & NDR_BUFFERS) {
7271 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7272 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7273 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7275 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7276 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7280 return NDR_ERR_SUCCESS;
7283 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7285 uint32_t _ptr_array;
7286 uint32_t cntr_array_1;
7287 TALLOC_CTX *_mem_save_array_0;
7288 TALLOC_CTX *_mem_save_array_1;
7289 if (ndr_flags & NDR_SCALARS) {
7290 NDR_CHECK(ndr_pull_align(ndr, 5));
7291 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7292 if (r->count > 10000) {
7293 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7295 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7297 NDR_PULL_ALLOC(ndr, r->array);
7301 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7303 if (ndr_flags & NDR_BUFFERS) {
7305 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7306 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7307 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7308 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7309 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7310 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7311 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7312 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7314 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7315 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7321 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7324 return NDR_ERR_SUCCESS;
7327 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7329 uint32_t cntr_array_1;
7330 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7332 ndr_print_uint32(ndr, "count", r->count);
7333 ndr_print_ptr(ndr, "array", r->array);
7336 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7338 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7340 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7341 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7351 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7353 if (ndr_flags & NDR_SCALARS) {
7354 NDR_CHECK(ndr_push_align(ndr, 5));
7355 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7356 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7357 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7358 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7359 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7360 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7361 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7365 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7366 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7367 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7368 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7369 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7371 if (ndr_flags & NDR_BUFFERS) {
7372 if (r->netbios_name) {
7373 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7374 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7375 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7376 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7379 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7380 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7381 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7382 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7385 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7386 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7387 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7388 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7391 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7392 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7393 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7394 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7396 if (r->computer_dn) {
7397 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7398 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7399 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7400 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7403 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7404 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7405 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7406 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7409 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7410 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7411 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7412 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7415 return NDR_ERR_SUCCESS;
7418 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7420 uint32_t _ptr_netbios_name;
7421 TALLOC_CTX *_mem_save_netbios_name_0;
7422 uint32_t _ptr_dns_name;
7423 TALLOC_CTX *_mem_save_dns_name_0;
7424 uint32_t _ptr_site_name;
7425 TALLOC_CTX *_mem_save_site_name_0;
7426 uint32_t _ptr_site_dn;
7427 TALLOC_CTX *_mem_save_site_dn_0;
7428 uint32_t _ptr_computer_dn;
7429 TALLOC_CTX *_mem_save_computer_dn_0;
7430 uint32_t _ptr_server_dn;
7431 TALLOC_CTX *_mem_save_server_dn_0;
7432 uint32_t _ptr_ntds_dn;
7433 TALLOC_CTX *_mem_save_ntds_dn_0;
7434 if (ndr_flags & NDR_SCALARS) {
7435 NDR_CHECK(ndr_pull_align(ndr, 5));
7436 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7437 if (_ptr_netbios_name) {
7438 NDR_PULL_ALLOC(ndr, r->netbios_name);
7440 r->netbios_name = NULL;
7442 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7443 if (_ptr_dns_name) {
7444 NDR_PULL_ALLOC(ndr, r->dns_name);
7448 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7449 if (_ptr_site_name) {
7450 NDR_PULL_ALLOC(ndr, r->site_name);
7452 r->site_name = NULL;
7454 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7456 NDR_PULL_ALLOC(ndr, r->site_dn);
7460 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7461 if (_ptr_computer_dn) {
7462 NDR_PULL_ALLOC(ndr, r->computer_dn);
7464 r->computer_dn = NULL;
7466 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7467 if (_ptr_server_dn) {
7468 NDR_PULL_ALLOC(ndr, r->server_dn);
7470 r->server_dn = NULL;
7472 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7474 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7478 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7479 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7480 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7481 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7482 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7483 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7484 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7485 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7487 if (ndr_flags & NDR_BUFFERS) {
7488 if (r->netbios_name) {
7489 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7490 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7491 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7492 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7493 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7494 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));
7496 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7497 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7501 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7502 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7503 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7504 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7505 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7506 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));
7508 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7509 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7510 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7513 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7514 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7515 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7516 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7517 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7518 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));
7520 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7521 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7525 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7526 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7527 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7528 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7529 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7530 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));
7532 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7533 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7534 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7536 if (r->computer_dn) {
7537 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7538 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7539 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7540 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7541 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7542 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));
7544 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7545 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7546 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7549 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7550 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7551 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7552 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7553 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7554 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));
7556 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7557 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7561 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7562 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7563 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7564 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7565 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7566 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));
7568 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7569 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7570 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7573 return NDR_ERR_SUCCESS;
7576 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7578 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7580 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7582 if (r->netbios_name) {
7583 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7586 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7589 ndr_print_string(ndr, "dns_name", r->dns_name);
7592 ndr_print_ptr(ndr, "site_name", r->site_name);
7595 ndr_print_string(ndr, "site_name", r->site_name);
7598 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7601 ndr_print_string(ndr, "site_dn", r->site_dn);
7604 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7606 if (r->computer_dn) {
7607 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7610 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7613 ndr_print_string(ndr, "server_dn", r->server_dn);
7616 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7619 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7622 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7623 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7624 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7625 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7626 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7627 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7628 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7632 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7634 uint32_t cntr_array_1;
7635 if (ndr_flags & NDR_SCALARS) {
7636 NDR_CHECK(ndr_push_align(ndr, 5));
7637 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7638 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7639 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7641 if (ndr_flags & NDR_BUFFERS) {
7643 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7644 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7645 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7647 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7648 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7652 return NDR_ERR_SUCCESS;
7655 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7657 uint32_t _ptr_array;
7658 uint32_t cntr_array_1;
7659 TALLOC_CTX *_mem_save_array_0;
7660 TALLOC_CTX *_mem_save_array_1;
7661 if (ndr_flags & NDR_SCALARS) {
7662 NDR_CHECK(ndr_pull_align(ndr, 5));
7663 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7664 if (r->count > 10000) {
7665 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7667 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7669 NDR_PULL_ALLOC(ndr, r->array);
7673 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7675 if (ndr_flags & NDR_BUFFERS) {
7677 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7678 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7679 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7680 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7681 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7682 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7683 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7684 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7686 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7687 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7693 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7696 return NDR_ERR_SUCCESS;
7699 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7701 uint32_t cntr_array_1;
7702 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7704 ndr_print_uint32(ndr, "count", r->count);
7705 ndr_print_ptr(ndr, "array", r->array);
7708 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7710 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7712 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7713 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7723 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7725 if (ndr_flags & NDR_SCALARS) {
7726 NDR_CHECK(ndr_push_align(ndr, 5));
7727 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7728 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7729 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7730 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7731 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7732 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7733 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7734 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7735 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7736 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7738 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7739 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7740 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7741 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7742 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7744 if (ndr_flags & NDR_BUFFERS) {
7745 if (r->netbios_name) {
7746 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7747 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7748 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7749 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7752 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7753 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7754 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7755 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7758 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7759 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7760 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7761 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7764 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7765 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7766 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7767 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7769 if (r->computer_dn) {
7770 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7771 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7772 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7773 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7776 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7777 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7778 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7779 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7782 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7783 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7784 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7785 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7788 return NDR_ERR_SUCCESS;
7791 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
7793 uint32_t _ptr_netbios_name;
7794 TALLOC_CTX *_mem_save_netbios_name_0;
7795 uint32_t _ptr_dns_name;
7796 TALLOC_CTX *_mem_save_dns_name_0;
7797 uint32_t _ptr_site_name;
7798 TALLOC_CTX *_mem_save_site_name_0;
7799 uint32_t _ptr_site_dn;
7800 TALLOC_CTX *_mem_save_site_dn_0;
7801 uint32_t _ptr_computer_dn;
7802 TALLOC_CTX *_mem_save_computer_dn_0;
7803 uint32_t _ptr_server_dn;
7804 TALLOC_CTX *_mem_save_server_dn_0;
7805 uint32_t _ptr_ntds_dn;
7806 TALLOC_CTX *_mem_save_ntds_dn_0;
7807 if (ndr_flags & NDR_SCALARS) {
7808 NDR_CHECK(ndr_pull_align(ndr, 5));
7809 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7810 if (_ptr_netbios_name) {
7811 NDR_PULL_ALLOC(ndr, r->netbios_name);
7813 r->netbios_name = NULL;
7815 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7816 if (_ptr_dns_name) {
7817 NDR_PULL_ALLOC(ndr, r->dns_name);
7821 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7822 if (_ptr_site_name) {
7823 NDR_PULL_ALLOC(ndr, r->site_name);
7825 r->site_name = NULL;
7827 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7829 NDR_PULL_ALLOC(ndr, r->site_dn);
7833 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7834 if (_ptr_computer_dn) {
7835 NDR_PULL_ALLOC(ndr, r->computer_dn);
7837 r->computer_dn = NULL;
7839 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7840 if (_ptr_server_dn) {
7841 NDR_PULL_ALLOC(ndr, r->server_dn);
7843 r->server_dn = NULL;
7845 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7847 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7851 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7852 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7853 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7854 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
7855 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7856 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7857 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7858 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7859 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7861 if (ndr_flags & NDR_BUFFERS) {
7862 if (r->netbios_name) {
7863 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7864 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7865 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7866 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7867 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7868 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));
7870 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7871 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7875 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7876 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7877 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7878 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7879 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7880 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));
7882 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7883 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7884 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7887 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7888 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7889 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7890 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7891 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7892 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));
7894 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7895 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7896 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7899 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7900 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7901 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7902 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7903 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7904 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));
7906 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7907 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7908 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7910 if (r->computer_dn) {
7911 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7912 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7913 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7914 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7915 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7916 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));
7918 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7919 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7920 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7923 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7924 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7925 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7926 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7927 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7928 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));
7930 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7931 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7932 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7935 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7936 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7937 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7938 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7939 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7940 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));
7942 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7943 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7944 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7947 return NDR_ERR_SUCCESS;
7950 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7952 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7954 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7956 if (r->netbios_name) {
7957 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7960 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7963 ndr_print_string(ndr, "dns_name", r->dns_name);
7966 ndr_print_ptr(ndr, "site_name", r->site_name);
7969 ndr_print_string(ndr, "site_name", r->site_name);
7972 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7975 ndr_print_string(ndr, "site_dn", r->site_dn);
7978 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7980 if (r->computer_dn) {
7981 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7984 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7987 ndr_print_string(ndr, "server_dn", r->server_dn);
7990 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7993 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7996 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7997 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7998 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7999 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
8000 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
8001 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
8002 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
8003 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
8007 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
8009 uint32_t cntr_array_1;
8010 if (ndr_flags & NDR_SCALARS) {
8011 NDR_CHECK(ndr_push_align(ndr, 5));
8012 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8013 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8014 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8016 if (ndr_flags & NDR_BUFFERS) {
8018 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8019 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8020 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8022 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8023 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8027 return NDR_ERR_SUCCESS;
8030 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
8032 uint32_t _ptr_array;
8033 uint32_t cntr_array_1;
8034 TALLOC_CTX *_mem_save_array_0;
8035 TALLOC_CTX *_mem_save_array_1;
8036 if (ndr_flags & NDR_SCALARS) {
8037 NDR_CHECK(ndr_pull_align(ndr, 5));
8038 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8039 if (r->count > 10000) {
8040 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8042 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8044 NDR_PULL_ALLOC(ndr, r->array);
8048 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8050 if (ndr_flags & NDR_BUFFERS) {
8052 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8053 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8054 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8055 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8056 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8057 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8058 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8059 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8061 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8062 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8064 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8065 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8068 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8071 return NDR_ERR_SUCCESS;
8074 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
8076 uint32_t cntr_array_1;
8077 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
8079 ndr_print_uint32(ndr, "count", r->count);
8080 ndr_print_ptr(ndr, "array", r->array);
8083 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8085 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8087 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8088 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
8098 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
8100 if (ndr_flags & NDR_SCALARS) {
8101 NDR_CHECK(ndr_push_align(ndr, 5));
8103 uint32_t _flags_save_ipv4address = ndr->flags;
8104 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8105 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
8106 ndr->flags = _flags_save_ipv4address;
8108 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8109 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
8110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
8111 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
8112 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
8113 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
8114 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8116 if (ndr_flags & NDR_BUFFERS) {
8117 if (r->client_account) {
8118 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8119 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8120 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8121 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8124 return NDR_ERR_SUCCESS;
8127 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
8129 uint32_t _ptr_client_account;
8130 TALLOC_CTX *_mem_save_client_account_0;
8131 if (ndr_flags & NDR_SCALARS) {
8132 NDR_CHECK(ndr_pull_align(ndr, 5));
8134 uint32_t _flags_save_ipv4address = ndr->flags;
8135 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8136 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
8137 ndr->flags = _flags_save_ipv4address;
8139 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8140 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
8141 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
8142 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
8143 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
8144 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
8145 if (_ptr_client_account) {
8146 NDR_PULL_ALLOC(ndr, r->client_account);
8148 r->client_account = NULL;
8150 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8152 if (ndr_flags & NDR_BUFFERS) {
8153 if (r->client_account) {
8154 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
8155 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
8156 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
8157 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
8158 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
8159 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));
8161 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
8162 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
8163 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
8166 return NDR_ERR_SUCCESS;
8169 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
8171 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8173 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8174 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8175 ndr_print_uint32(ndr, "connection_time", r->connection_time);
8176 ndr_print_uint32(ndr, "unknown4", r->unknown4);
8177 ndr_print_uint32(ndr, "unknown5", r->unknown5);
8178 ndr_print_uint32(ndr, "unknown6", r->unknown6);
8179 ndr_print_ptr(ndr, "client_account", r->client_account);
8181 if (r->client_account) {
8182 ndr_print_string(ndr, "client_account", r->client_account);
8188 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8190 uint32_t cntr_array_1;
8191 if (ndr_flags & NDR_SCALARS) {
8192 NDR_CHECK(ndr_push_align(ndr, 5));
8193 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8194 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8195 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8197 if (ndr_flags & NDR_BUFFERS) {
8199 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8200 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8201 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8203 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8204 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8208 return NDR_ERR_SUCCESS;
8211 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8213 uint32_t _ptr_array;
8214 uint32_t cntr_array_1;
8215 TALLOC_CTX *_mem_save_array_0;
8216 TALLOC_CTX *_mem_save_array_1;
8217 if (ndr_flags & NDR_SCALARS) {
8218 NDR_CHECK(ndr_pull_align(ndr, 5));
8219 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8220 if (r->count > 10000) {
8221 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8223 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8225 NDR_PULL_ALLOC(ndr, r->array);
8229 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8231 if (ndr_flags & NDR_BUFFERS) {
8233 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8234 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8235 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8236 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8237 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8238 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8239 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8240 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8242 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8243 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8245 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8246 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8249 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8252 return NDR_ERR_SUCCESS;
8255 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8257 uint32_t cntr_array_1;
8258 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8260 ndr_print_uint32(ndr, "count", r->count);
8261 ndr_print_ptr(ndr, "array", r->array);
8264 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8266 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8268 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8269 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8279 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8281 if (ndr_flags & NDR_SCALARS) {
8282 int level = ndr_push_get_switch_value(ndr, r);
8283 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8284 NDR_CHECK(ndr_push_union_align(ndr, 5));
8286 case DRSUAPI_DC_INFO_CTR_1: {
8287 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8290 case DRSUAPI_DC_INFO_CTR_2: {
8291 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8294 case DRSUAPI_DC_INFO_CTR_3: {
8295 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8298 case DRSUAPI_DC_CONNECTION_CTR_01: {
8299 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8303 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8306 if (ndr_flags & NDR_BUFFERS) {
8307 int level = ndr_push_get_switch_value(ndr, r);
8309 case DRSUAPI_DC_INFO_CTR_1:
8310 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8313 case DRSUAPI_DC_INFO_CTR_2:
8314 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8317 case DRSUAPI_DC_INFO_CTR_3:
8318 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8321 case DRSUAPI_DC_CONNECTION_CTR_01:
8322 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8326 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8329 return NDR_ERR_SUCCESS;
8332 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8336 level = ndr_pull_get_switch_value(ndr, r);
8337 if (ndr_flags & NDR_SCALARS) {
8338 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8339 if (_level != level) {
8340 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8342 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8344 case DRSUAPI_DC_INFO_CTR_1: {
8345 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8348 case DRSUAPI_DC_INFO_CTR_2: {
8349 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8352 case DRSUAPI_DC_INFO_CTR_3: {
8353 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8356 case DRSUAPI_DC_CONNECTION_CTR_01: {
8357 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8361 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8364 if (ndr_flags & NDR_BUFFERS) {
8366 case DRSUAPI_DC_INFO_CTR_1:
8367 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8370 case DRSUAPI_DC_INFO_CTR_2:
8371 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8374 case DRSUAPI_DC_INFO_CTR_3:
8375 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8378 case DRSUAPI_DC_CONNECTION_CTR_01:
8379 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8383 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8386 return NDR_ERR_SUCCESS;
8389 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
8392 level = ndr_print_get_switch_value(ndr, r);
8393 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
8395 case DRSUAPI_DC_INFO_CTR_1:
8396 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
8399 case DRSUAPI_DC_INFO_CTR_2:
8400 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
8403 case DRSUAPI_DC_INFO_CTR_3:
8404 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
8407 case DRSUAPI_DC_CONNECTION_CTR_01:
8408 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
8412 ndr_print_bad_level(ndr, name, level);
8416 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
8418 if (ndr_flags & NDR_SCALARS) {
8419 NDR_CHECK(ndr_push_align(ndr, 5));
8420 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
8421 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8422 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8424 if (ndr_flags & NDR_BUFFERS) {
8425 if (r->next_object) {
8426 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8428 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8430 return NDR_ERR_SUCCESS;
8433 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8435 uint32_t _ptr_next_object;
8436 TALLOC_CTX *_mem_save_next_object_0;
8437 if (ndr_flags & NDR_SCALARS) {
8438 NDR_CHECK(ndr_pull_align(ndr, 5));
8439 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8440 if (_ptr_next_object) {
8441 NDR_PULL_ALLOC(ndr, r->next_object);
8443 r->next_object = NULL;
8445 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8446 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8448 if (ndr_flags & NDR_BUFFERS) {
8449 if (r->next_object) {
8450 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8451 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8452 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8453 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8455 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8457 return NDR_ERR_SUCCESS;
8460 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8462 if (ndr_flags & NDR_SCALARS) {
8463 NDR_CHECK(ndr_push_align(ndr, 5));
8464 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8465 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8467 if (ndr_flags & NDR_BUFFERS) {
8468 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8470 return NDR_ERR_SUCCESS;
8473 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8475 if (ndr_flags & NDR_SCALARS) {
8476 NDR_CHECK(ndr_pull_align(ndr, 5));
8477 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8478 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8480 if (ndr_flags & NDR_BUFFERS) {
8481 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8483 return NDR_ERR_SUCCESS;
8486 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8488 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8490 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8494 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
8496 if (ndr_flags & NDR_SCALARS) {
8497 int level = ndr_push_get_switch_value(ndr, r);
8498 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8499 NDR_CHECK(ndr_push_union_align(ndr, 5));
8502 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8506 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8509 if (ndr_flags & NDR_BUFFERS) {
8510 int level = ndr_push_get_switch_value(ndr, r);
8513 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8517 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8520 return NDR_ERR_SUCCESS;
8523 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
8527 level = ndr_pull_get_switch_value(ndr, r);
8528 if (ndr_flags & NDR_SCALARS) {
8529 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8530 if (_level != level) {
8531 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8533 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8536 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8540 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8543 if (ndr_flags & NDR_BUFFERS) {
8546 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8550 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8553 return NDR_ERR_SUCCESS;
8556 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
8559 level = ndr_print_get_switch_value(ndr, r);
8560 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
8563 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
8567 ndr_print_bad_level(ndr, name, level);
8571 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
8573 if (ndr_flags & NDR_SCALARS) {
8574 NDR_CHECK(ndr_push_align(ndr, 4));
8575 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8576 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8577 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8578 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
8579 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8581 if (ndr_flags & NDR_BUFFERS) {
8583 return NDR_ERR_SUCCESS;
8586 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
8588 if (ndr_flags & NDR_SCALARS) {
8589 NDR_CHECK(ndr_pull_align(ndr, 4));
8590 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8591 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8593 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
8594 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8596 if (ndr_flags & NDR_BUFFERS) {
8598 return NDR_ERR_SUCCESS;
8601 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
8603 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
8605 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8606 ndr_print_WERROR(ndr, "status", r->status);
8607 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8608 ndr_print_uint16(ndr, "unknown3", r->unknown3);
8612 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8614 if (ndr_flags & NDR_SCALARS) {
8615 NDR_CHECK(ndr_push_align(ndr, 5));
8616 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8617 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8618 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8620 if (ndr_flags & NDR_BUFFERS) {
8622 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
8623 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
8626 return NDR_ERR_SUCCESS;
8629 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8632 TALLOC_CTX *_mem_save_data_0;
8633 if (ndr_flags & NDR_SCALARS) {
8634 NDR_CHECK(ndr_pull_align(ndr, 5));
8635 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8636 if (r->size > 10485760) {
8637 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8639 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8641 NDR_PULL_ALLOC(ndr, r->data);
8645 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8647 if (ndr_flags & NDR_BUFFERS) {
8649 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8650 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8651 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
8652 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
8653 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
8654 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8657 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
8660 return NDR_ERR_SUCCESS;
8663 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8665 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
8667 ndr_print_uint32(ndr, "size", r->size);
8668 ndr_print_ptr(ndr, "data", r->data);
8671 ndr_print_array_uint8(ndr, "data", r->data, r->size);
8677 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
8679 if (ndr_flags & NDR_SCALARS) {
8680 NDR_CHECK(ndr_push_align(ndr, 5));
8681 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8682 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
8683 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8684 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8685 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8687 if (ndr_flags & NDR_BUFFERS) {
8688 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8690 return NDR_ERR_SUCCESS;
8693 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
8695 if (ndr_flags & NDR_SCALARS) {
8696 NDR_CHECK(ndr_pull_align(ndr, 5));
8697 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8698 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
8699 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8700 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8701 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8703 if (ndr_flags & NDR_BUFFERS) {
8704 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8706 return NDR_ERR_SUCCESS;
8709 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
8711 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
8713 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8714 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
8715 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8716 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
8720 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8722 if (ndr_flags & NDR_SCALARS) {
8723 NDR_CHECK(ndr_push_align(ndr, 5));
8724 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
8725 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8726 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8728 if (ndr_flags & NDR_BUFFERS) {
8730 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8732 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8734 return NDR_ERR_SUCCESS;
8737 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
8740 TALLOC_CTX *_mem_save_next_0;
8741 if (ndr_flags & NDR_SCALARS) {
8742 NDR_CHECK(ndr_pull_align(ndr, 5));
8743 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
8745 NDR_PULL_ALLOC(ndr, r->next);
8749 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8750 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8752 if (ndr_flags & NDR_BUFFERS) {
8754 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
8755 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
8756 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8757 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
8759 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8761 return NDR_ERR_SUCCESS;
8764 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8766 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
8768 ndr_print_ptr(ndr, "next", r->next);
8771 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
8774 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
8778 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8780 if (ndr_flags & NDR_SCALARS) {
8781 NDR_CHECK(ndr_push_align(ndr, 5));
8782 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8783 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8784 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8785 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8787 if (ndr_flags & NDR_BUFFERS) {
8789 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8791 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8793 return NDR_ERR_SUCCESS;
8796 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
8799 TALLOC_CTX *_mem_save_id_0;
8800 if (ndr_flags & NDR_SCALARS) {
8801 NDR_CHECK(ndr_pull_align(ndr, 5));
8802 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8804 NDR_PULL_ALLOC(ndr, r->id);
8808 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8809 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8810 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8812 if (ndr_flags & NDR_BUFFERS) {
8814 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8815 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8816 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8819 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8821 return NDR_ERR_SUCCESS;
8824 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8826 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
8828 ndr_print_ptr(ndr, "id", r->id);
8831 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8834 ndr_print_WERROR(ndr, "status", r->status);
8835 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
8839 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
8841 if (ndr_flags & NDR_SCALARS) {
8842 int level = ndr_push_get_switch_value(ndr, r);
8843 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8844 NDR_CHECK(ndr_push_union_align(ndr, 5));
8847 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8851 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8855 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8859 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8863 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8867 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8870 if (ndr_flags & NDR_BUFFERS) {
8871 int level = ndr_push_get_switch_value(ndr, r);
8874 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8890 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8893 return NDR_ERR_SUCCESS;
8896 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
8900 level = ndr_pull_get_switch_value(ndr, r);
8901 if (ndr_flags & NDR_SCALARS) {
8902 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8903 if (_level != level) {
8904 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8906 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8909 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8913 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8917 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8921 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8925 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8929 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8932 if (ndr_flags & NDR_BUFFERS) {
8935 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8951 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8954 return NDR_ERR_SUCCESS;
8957 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
8960 level = ndr_print_get_switch_value(ndr, r);
8961 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
8964 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
8968 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8972 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8976 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8980 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8984 ndr_print_bad_level(ndr, name, level);
8988 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
8990 if (ndr_flags & NDR_SCALARS) {
8991 NDR_CHECK(ndr_push_align(ndr, 5));
8992 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8993 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8994 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8995 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8997 if (ndr_flags & NDR_BUFFERS) {
8999 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
9000 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
9003 return NDR_ERR_SUCCESS;
9006 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
9009 TALLOC_CTX *_mem_save_info_0;
9010 if (ndr_flags & NDR_SCALARS) {
9011 NDR_CHECK(ndr_pull_align(ndr, 5));
9012 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
9013 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9014 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9016 NDR_PULL_ALLOC(ndr, r->info);
9020 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9022 if (ndr_flags & NDR_BUFFERS) {
9024 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9025 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
9026 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
9027 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
9028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
9031 return NDR_ERR_SUCCESS;
9034 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
9036 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
9038 ndr_print_WERROR(ndr, "status", r->status);
9039 ndr_print_uint32(ndr, "level", r->level);
9040 ndr_print_ptr(ndr, "info", r->info);
9043 ndr_print_set_switch_value(ndr, r->info, r->level);
9044 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
9050 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
9052 if (ndr_flags & NDR_SCALARS) {
9053 int level = ndr_push_get_switch_value(ndr, r);
9054 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9055 NDR_CHECK(ndr_push_union_align(ndr, 5));
9058 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
9062 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9065 if (ndr_flags & NDR_BUFFERS) {
9066 int level = ndr_push_get_switch_value(ndr, r);
9069 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
9073 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9076 return NDR_ERR_SUCCESS;
9079 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
9083 level = ndr_pull_get_switch_value(ndr, r);
9084 if (ndr_flags & NDR_SCALARS) {
9085 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9086 if (_level != level) {
9087 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9089 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9092 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
9096 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9099 if (ndr_flags & NDR_BUFFERS) {
9102 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
9106 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9109 return NDR_ERR_SUCCESS;
9112 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
9115 level = ndr_print_get_switch_value(ndr, r);
9116 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
9119 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
9123 ndr_print_bad_level(ndr, name, level);
9127 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9129 if (ndr_flags & NDR_SCALARS) {
9130 NDR_CHECK(ndr_push_align(ndr, 4));
9131 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
9132 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9133 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9135 if (ndr_flags & NDR_BUFFERS) {
9136 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9138 return NDR_ERR_SUCCESS;
9141 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
9143 if (ndr_flags & NDR_SCALARS) {
9144 NDR_CHECK(ndr_pull_align(ndr, 4));
9145 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
9146 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9147 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9149 if (ndr_flags & NDR_BUFFERS) {
9150 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9152 return NDR_ERR_SUCCESS;
9155 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9157 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
9159 ndr_print_GUID(ndr, "guid", &r->guid);
9160 ndr_print_dom_sid28(ndr, "sid", &r->sid);
9164 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
9166 uint32_t cntr_objects_1;
9167 if (ndr_flags & NDR_SCALARS) {
9168 NDR_CHECK(ndr_push_align(ndr, 5));
9169 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9170 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9171 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9173 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9174 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9176 if (ndr_flags & NDR_BUFFERS) {
9178 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9181 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9182 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9183 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9185 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9186 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9190 return NDR_ERR_SUCCESS;
9193 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
9196 TALLOC_CTX *_mem_save_id_0;
9197 uint32_t _ptr_objects;
9198 uint32_t cntr_objects_1;
9199 TALLOC_CTX *_mem_save_objects_0;
9200 TALLOC_CTX *_mem_save_objects_1;
9201 if (ndr_flags & NDR_SCALARS) {
9202 NDR_CHECK(ndr_pull_align(ndr, 5));
9203 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9205 NDR_PULL_ALLOC(ndr, r->id);
9209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9210 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9211 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9212 if (r->count > 10000) {
9213 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9215 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9217 NDR_PULL_ALLOC(ndr, r->objects);
9221 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9223 if (ndr_flags & NDR_BUFFERS) {
9225 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9226 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9227 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9228 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9231 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9232 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9233 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9234 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9235 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9236 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9237 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9238 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9240 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9241 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9244 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9247 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9250 return NDR_ERR_SUCCESS;
9253 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
9255 uint32_t cntr_objects_1;
9256 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
9258 ndr_print_ptr(ndr, "id", r->id);
9261 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9264 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9265 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
9266 ndr_print_uint32(ndr, "count", r->count);
9267 ndr_print_ptr(ndr, "objects", r->objects);
9270 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9272 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9274 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9275 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9285 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
9287 uint32_t cntr_objects_1;
9288 if (ndr_flags & NDR_SCALARS) {
9289 NDR_CHECK(ndr_push_align(ndr, 5));
9290 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9291 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
9292 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
9293 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9294 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9295 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9297 if (ndr_flags & NDR_BUFFERS) {
9299 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9302 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
9303 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9306 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9307 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9308 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9310 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9311 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9315 return NDR_ERR_SUCCESS;
9318 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
9321 TALLOC_CTX *_mem_save_id_0;
9322 uint32_t _ptr_error;
9323 TALLOC_CTX *_mem_save_error_0;
9324 uint32_t _ptr_objects;
9325 uint32_t cntr_objects_1;
9326 TALLOC_CTX *_mem_save_objects_0;
9327 TALLOC_CTX *_mem_save_objects_1;
9328 if (ndr_flags & NDR_SCALARS) {
9329 NDR_CHECK(ndr_pull_align(ndr, 5));
9330 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9332 NDR_PULL_ALLOC(ndr, r->id);
9336 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9337 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
9339 NDR_PULL_ALLOC(ndr, r->error);
9343 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9344 if (r->count > 10000) {
9345 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9347 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9349 NDR_PULL_ALLOC(ndr, r->objects);
9353 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9355 if (ndr_flags & NDR_BUFFERS) {
9357 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9358 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9359 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9360 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9363 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
9364 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
9365 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
9366 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9367 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
9370 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9371 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9372 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9373 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9374 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9375 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9376 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9377 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9379 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9380 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9382 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9386 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9389 return NDR_ERR_SUCCESS;
9392 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
9394 uint32_t cntr_objects_1;
9395 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
9397 ndr_print_ptr(ndr, "id", r->id);
9400 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9403 ndr_print_uint32(ndr, "level", r->level);
9404 ndr_print_ptr(ndr, "error", r->error);
9407 ndr_print_set_switch_value(ndr, r->error, r->level);
9408 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
9411 ndr_print_uint32(ndr, "count", r->count);
9412 ndr_print_ptr(ndr, "objects", r->objects);
9415 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9417 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9419 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9420 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9430 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
9432 if (ndr_flags & NDR_SCALARS) {
9433 int level = ndr_push_get_switch_value(ndr, r);
9434 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
9435 NDR_CHECK(ndr_push_union_align(ndr, 5));
9438 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9442 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9446 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9449 if (ndr_flags & NDR_BUFFERS) {
9450 int level = ndr_push_get_switch_value(ndr, r);
9453 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9457 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9461 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9464 return NDR_ERR_SUCCESS;
9467 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
9471 level = ndr_pull_get_switch_value(ndr, r);
9472 if (ndr_flags & NDR_SCALARS) {
9473 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
9474 if (_level != level) {
9475 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9477 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9480 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9484 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9488 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9491 if (ndr_flags & NDR_BUFFERS) {
9494 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9498 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9502 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9505 return NDR_ERR_SUCCESS;
9508 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
9511 level = ndr_print_get_switch_value(ndr, r);
9512 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
9515 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
9519 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
9523 ndr_print_bad_level(ndr, name, level);
9527 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9530 return NDR_ERR_SUCCESS;
9533 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9536 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9538 return NDR_ERR_SUCCESS;
9541 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
9543 ndr_print_uint32(ndr, name, r);
9545 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
9546 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
9550 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
9552 if (ndr_flags & NDR_SCALARS) {
9553 NDR_CHECK(ndr_push_align(ndr, 4));
9554 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
9555 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
9556 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9558 if (ndr_flags & NDR_BUFFERS) {
9560 return NDR_ERR_SUCCESS;
9563 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
9565 if (ndr_flags & NDR_SCALARS) {
9566 NDR_CHECK(ndr_pull_align(ndr, 4));
9567 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
9568 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
9569 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9571 if (ndr_flags & NDR_BUFFERS) {
9573 return NDR_ERR_SUCCESS;
9576 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
9578 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
9580 ndr_print_uint32(ndr, "taskID", r->taskID);
9581 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
9585 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
9587 if (ndr_flags & NDR_SCALARS) {
9588 int level = ndr_push_get_switch_value(ndr, r);
9589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9590 NDR_CHECK(ndr_push_union_align(ndr, 4));
9593 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9597 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9600 if (ndr_flags & NDR_BUFFERS) {
9601 int level = ndr_push_get_switch_value(ndr, r);
9607 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9610 return NDR_ERR_SUCCESS;
9613 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
9617 level = ndr_pull_get_switch_value(ndr, r);
9618 if (ndr_flags & NDR_SCALARS) {
9619 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9620 if (_level != level) {
9621 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9623 NDR_CHECK(ndr_pull_union_align(ndr, 4));
9626 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9630 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9633 if (ndr_flags & NDR_BUFFERS) {
9639 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9642 return NDR_ERR_SUCCESS;
9645 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
9648 level = ndr_print_get_switch_value(ndr, r);
9649 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
9652 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
9656 ndr_print_bad_level(ndr, name, level);
9660 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
9662 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9663 return NDR_ERR_SUCCESS;
9666 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
9669 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9671 return NDR_ERR_SUCCESS;
9674 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
9676 const char *val = NULL;
9679 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9680 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9682 ndr_print_enum(ndr, name, "ENUM", val, r);
9685 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
9687 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9688 return NDR_ERR_SUCCESS;
9691 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
9694 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9696 return NDR_ERR_SUCCESS;
9699 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
9701 const char *val = NULL;
9704 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9705 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9706 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9707 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9708 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9709 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9710 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9711 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9712 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9713 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9714 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9715 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
9716 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: val = "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
9717 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
9718 case DRSUAPI_DS_REPLICA_INFO_06: val = "DRSUAPI_DS_REPLICA_INFO_06"; break;
9720 ndr_print_enum(ndr, name, "ENUM", val, r);
9723 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9725 if (ndr_flags & NDR_SCALARS) {
9726 NDR_CHECK(ndr_push_align(ndr, 5));
9727 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9728 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9729 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9730 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9732 if (ndr_flags & NDR_BUFFERS) {
9734 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9735 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9736 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9737 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9740 return NDR_ERR_SUCCESS;
9743 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
9745 uint32_t _ptr_object_dn;
9746 TALLOC_CTX *_mem_save_object_dn_0;
9747 if (ndr_flags & NDR_SCALARS) {
9748 NDR_CHECK(ndr_pull_align(ndr, 5));
9749 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9750 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9751 if (_ptr_object_dn) {
9752 NDR_PULL_ALLOC(ndr, r->object_dn);
9754 r->object_dn = NULL;
9756 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9757 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9759 if (ndr_flags & NDR_BUFFERS) {
9761 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9762 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9763 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9764 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9765 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9766 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));
9768 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9769 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9770 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9773 return NDR_ERR_SUCCESS;
9776 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9778 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
9780 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9781 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9784 ndr_print_string(ndr, "object_dn", r->object_dn);
9787 ndr_print_GUID(ndr, "guid1", &r->guid1);
9791 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9793 if (ndr_flags & NDR_SCALARS) {
9794 NDR_CHECK(ndr_push_align(ndr, 5));
9795 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9796 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9797 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9799 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string1));
9800 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string2));
9801 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
9802 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9804 if (ndr_flags & NDR_BUFFERS) {
9806 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9807 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9808 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9809 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9812 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9813 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9814 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9815 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string1, ndr_charset_length(r->string1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9818 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9819 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9820 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9821 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string2, ndr_charset_length(r->string2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9824 return NDR_ERR_SUCCESS;
9827 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
9829 uint32_t _ptr_object_dn;
9830 TALLOC_CTX *_mem_save_object_dn_0;
9831 uint32_t _ptr_string1;
9832 TALLOC_CTX *_mem_save_string1_0;
9833 uint32_t _ptr_string2;
9834 TALLOC_CTX *_mem_save_string2_0;
9835 if (ndr_flags & NDR_SCALARS) {
9836 NDR_CHECK(ndr_pull_align(ndr, 5));
9837 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9838 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9839 if (_ptr_object_dn) {
9840 NDR_PULL_ALLOC(ndr, r->object_dn);
9842 r->object_dn = NULL;
9844 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9845 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9846 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string1));
9848 NDR_PULL_ALLOC(ndr, r->string1);
9852 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string2));
9854 NDR_PULL_ALLOC(ndr, r->string2);
9858 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
9859 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9861 if (ndr_flags & NDR_BUFFERS) {
9863 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9864 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9865 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9866 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9867 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9868 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));
9870 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9871 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9875 _mem_save_string1_0 = NDR_PULL_GET_MEM_CTX(ndr);
9876 NDR_PULL_SET_MEM_CTX(ndr, r->string1, 0);
9877 NDR_CHECK(ndr_pull_array_size(ndr, &r->string1));
9878 NDR_CHECK(ndr_pull_array_length(ndr, &r->string1));
9879 if (ndr_get_array_length(ndr, &r->string1) > ndr_get_array_size(ndr, &r->string1)) {
9880 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));
9882 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t)));
9883 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string1, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t), CH_UTF16));
9884 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string1_0, 0);
9887 _mem_save_string2_0 = NDR_PULL_GET_MEM_CTX(ndr);
9888 NDR_PULL_SET_MEM_CTX(ndr, r->string2, 0);
9889 NDR_CHECK(ndr_pull_array_size(ndr, &r->string2));
9890 NDR_CHECK(ndr_pull_array_length(ndr, &r->string2));
9891 if (ndr_get_array_length(ndr, &r->string2) > ndr_get_array_size(ndr, &r->string2)) {
9892 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));
9894 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t)));
9895 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string2, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t), CH_UTF16));
9896 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string2_0, 0);
9899 return NDR_ERR_SUCCESS;
9902 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9904 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
9906 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9907 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9910 ndr_print_string(ndr, "object_dn", r->object_dn);
9913 ndr_print_GUID(ndr, "guid1", &r->guid1);
9914 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9915 ndr_print_ptr(ndr, "string1", r->string1);
9918 ndr_print_string(ndr, "string1", r->string1);
9921 ndr_print_ptr(ndr, "string2", r->string2);
9924 ndr_print_string(ndr, "string2", r->string2);
9927 ndr_print_uint32(ndr, "unknown2", r->unknown2);
9931 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
9933 if (ndr_flags & NDR_SCALARS) {
9934 int level = ndr_push_get_switch_value(ndr, r);
9935 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
9936 NDR_CHECK(ndr_push_union_align(ndr, 5));
9938 case DRSUAPI_DS_REPLICA_GET_INFO: {
9939 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9942 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9943 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9947 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9950 if (ndr_flags & NDR_BUFFERS) {
9951 int level = ndr_push_get_switch_value(ndr, r);
9953 case DRSUAPI_DS_REPLICA_GET_INFO:
9954 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9957 case DRSUAPI_DS_REPLICA_GET_INFO2:
9958 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9962 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9965 return NDR_ERR_SUCCESS;
9968 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
9972 level = ndr_pull_get_switch_value(ndr, r);
9973 if (ndr_flags & NDR_SCALARS) {
9974 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9975 if (_level != level) {
9976 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9978 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9980 case DRSUAPI_DS_REPLICA_GET_INFO: {
9981 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9984 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9985 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9989 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9992 if (ndr_flags & NDR_BUFFERS) {
9994 case DRSUAPI_DS_REPLICA_GET_INFO:
9995 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9998 case DRSUAPI_DS_REPLICA_GET_INFO2:
9999 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
10003 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10006 return NDR_ERR_SUCCESS;
10009 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
10012 level = ndr_print_get_switch_value(ndr, r);
10013 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
10015 case DRSUAPI_DS_REPLICA_GET_INFO:
10016 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
10019 case DRSUAPI_DS_REPLICA_GET_INFO2:
10020 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
10024 ndr_print_bad_level(ndr, name, level);
10028 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
10030 if (ndr_flags & NDR_SCALARS) {
10031 NDR_CHECK(ndr_push_align(ndr, 8));
10032 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
10033 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
10034 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
10035 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
10036 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
10037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10038 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
10039 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
10040 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10041 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
10042 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
10043 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
10044 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
10045 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
10046 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
10047 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
10048 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10050 if (ndr_flags & NDR_BUFFERS) {
10051 if (r->naming_context_dn) {
10052 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
10053 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10054 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
10055 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));
10057 if (r->source_dsa_obj_dn) {
10058 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10059 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10060 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10061 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));
10063 if (r->source_dsa_address) {
10064 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
10065 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10066 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
10067 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));
10069 if (r->transport_obj_dn) {
10070 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
10071 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10072 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
10073 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));
10076 return NDR_ERR_SUCCESS;
10079 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
10081 uint32_t _ptr_naming_context_dn;
10082 TALLOC_CTX *_mem_save_naming_context_dn_0;
10083 uint32_t _ptr_source_dsa_obj_dn;
10084 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
10085 uint32_t _ptr_source_dsa_address;
10086 TALLOC_CTX *_mem_save_source_dsa_address_0;
10087 uint32_t _ptr_transport_obj_dn;
10088 TALLOC_CTX *_mem_save_transport_obj_dn_0;
10089 if (ndr_flags & NDR_SCALARS) {
10090 NDR_CHECK(ndr_pull_align(ndr, 8));
10091 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
10092 if (_ptr_naming_context_dn) {
10093 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
10095 r->naming_context_dn = NULL;
10097 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
10098 if (_ptr_source_dsa_obj_dn) {
10099 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
10101 r->source_dsa_obj_dn = NULL;
10103 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
10104 if (_ptr_source_dsa_address) {
10105 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
10107 r->source_dsa_address = NULL;
10109 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
10110 if (_ptr_transport_obj_dn) {
10111 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
10113 r->transport_obj_dn = NULL;
10115 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
10116 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10117 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
10118 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
10119 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10120 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
10121 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
10122 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
10123 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
10124 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
10125 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
10126 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
10127 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10129 if (ndr_flags & NDR_BUFFERS) {
10130 if (r->naming_context_dn) {
10131 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10132 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
10133 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
10134 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
10135 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
10136 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));
10138 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
10139 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));
10140 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
10142 if (r->source_dsa_obj_dn) {
10143 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10144 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
10145 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
10146 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
10147 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
10148 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));
10150 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
10151 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));
10152 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10154 if (r->source_dsa_address) {
10155 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10156 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
10157 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
10158 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
10159 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
10160 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));
10162 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
10163 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));
10164 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
10166 if (r->transport_obj_dn) {
10167 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10168 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
10169 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
10170 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
10171 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
10172 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));
10174 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
10175 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));
10176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
10179 return NDR_ERR_SUCCESS;
10182 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
10184 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
10186 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
10188 if (r->naming_context_dn) {
10189 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
10192 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10194 if (r->source_dsa_obj_dn) {
10195 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10198 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
10200 if (r->source_dsa_address) {
10201 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
10204 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
10206 if (r->transport_obj_dn) {
10207 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
10210 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
10211 ndr_print_uint32(ndr, "reserved", r->reserved);
10212 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
10213 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
10214 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10215 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
10216 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
10217 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10218 ndr_print_NTTIME(ndr, "last_success", r->last_success);
10219 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
10220 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
10221 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
10225 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
10227 uint32_t cntr_array_0;
10228 if (ndr_flags & NDR_SCALARS) {
10229 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10230 NDR_CHECK(ndr_push_align(ndr, 8));
10231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10233 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10234 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10236 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10238 if (ndr_flags & NDR_BUFFERS) {
10239 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10240 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10243 return NDR_ERR_SUCCESS;
10246 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
10248 uint32_t cntr_array_0;
10249 TALLOC_CTX *_mem_save_array_0;
10250 if (ndr_flags & NDR_SCALARS) {
10251 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10252 NDR_CHECK(ndr_pull_align(ndr, 8));
10253 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10254 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10255 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10256 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10257 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10258 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10259 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10261 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10263 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10265 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10267 if (ndr_flags & NDR_BUFFERS) {
10268 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10269 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10270 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10271 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10275 return NDR_ERR_SUCCESS;
10278 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
10280 uint32_t cntr_array_0;
10281 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
10283 ndr_print_uint32(ndr, "count", r->count);
10284 ndr_print_uint32(ndr, "reserved", r->reserved);
10285 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10287 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10289 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10290 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
10298 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
10300 uint32_t cntr_array_0;
10301 if (ndr_flags & NDR_SCALARS) {
10302 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10303 NDR_CHECK(ndr_push_align(ndr, 8));
10304 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10305 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10306 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10307 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10309 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10311 if (ndr_flags & NDR_BUFFERS) {
10313 return NDR_ERR_SUCCESS;
10316 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
10318 uint32_t cntr_array_0;
10319 TALLOC_CTX *_mem_save_array_0;
10320 if (ndr_flags & NDR_SCALARS) {
10321 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10322 NDR_CHECK(ndr_pull_align(ndr, 8));
10323 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10324 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10325 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10326 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10327 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10328 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10329 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10331 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10333 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10335 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10337 if (ndr_flags & NDR_BUFFERS) {
10339 return NDR_ERR_SUCCESS;
10342 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
10344 uint32_t cntr_array_0;
10345 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
10347 ndr_print_uint32(ndr, "count", r->count);
10348 ndr_print_uint32(ndr, "reserved", r->reserved);
10349 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10351 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10353 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10354 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
10362 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
10364 if (ndr_flags & NDR_SCALARS) {
10365 NDR_CHECK(ndr_push_align(ndr, 8));
10366 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10367 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10368 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10369 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10370 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10371 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10372 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10374 if (ndr_flags & NDR_BUFFERS) {
10375 if (r->attribute_name) {
10376 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10377 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10378 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10379 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10382 return NDR_ERR_SUCCESS;
10385 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
10387 uint32_t _ptr_attribute_name;
10388 TALLOC_CTX *_mem_save_attribute_name_0;
10389 if (ndr_flags & NDR_SCALARS) {
10390 NDR_CHECK(ndr_pull_align(ndr, 8));
10391 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10392 if (_ptr_attribute_name) {
10393 NDR_PULL_ALLOC(ndr, r->attribute_name);
10395 r->attribute_name = NULL;
10397 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10398 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10399 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10400 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10401 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10402 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10404 if (ndr_flags & NDR_BUFFERS) {
10405 if (r->attribute_name) {
10406 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10407 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10408 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10409 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10410 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10411 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));
10413 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10414 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10415 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10418 return NDR_ERR_SUCCESS;
10421 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
10423 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
10425 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10427 if (r->attribute_name) {
10428 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10431 ndr_print_uint32(ndr, "version", r->version);
10432 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10433 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10434 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10435 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10439 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10441 uint32_t cntr_array_0;
10442 if (ndr_flags & NDR_SCALARS) {
10443 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10444 NDR_CHECK(ndr_push_align(ndr, 8));
10445 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10446 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10447 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10448 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10450 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10452 if (ndr_flags & NDR_BUFFERS) {
10453 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10454 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10457 return NDR_ERR_SUCCESS;
10460 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
10462 uint32_t cntr_array_0;
10463 TALLOC_CTX *_mem_save_array_0;
10464 if (ndr_flags & NDR_SCALARS) {
10465 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10466 NDR_CHECK(ndr_pull_align(ndr, 8));
10467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10468 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10469 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10470 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10471 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10472 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10473 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10475 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10477 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10479 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10481 if (ndr_flags & NDR_BUFFERS) {
10482 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10483 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10484 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10485 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10487 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10489 return NDR_ERR_SUCCESS;
10492 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10494 uint32_t cntr_array_0;
10495 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
10497 ndr_print_uint32(ndr, "count", r->count);
10498 ndr_print_uint32(ndr, "reserved", r->reserved);
10499 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10501 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10503 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10504 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
10512 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
10514 if (ndr_flags & NDR_SCALARS) {
10515 NDR_CHECK(ndr_push_align(ndr, 5));
10516 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
10517 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10518 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
10519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
10520 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
10521 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10523 if (ndr_flags & NDR_BUFFERS) {
10524 if (r->dsa_obj_dn) {
10525 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10526 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10527 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10528 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));
10531 return NDR_ERR_SUCCESS;
10534 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
10536 uint32_t _ptr_dsa_obj_dn;
10537 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
10538 if (ndr_flags & NDR_SCALARS) {
10539 NDR_CHECK(ndr_pull_align(ndr, 5));
10540 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
10541 if (_ptr_dsa_obj_dn) {
10542 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
10544 r->dsa_obj_dn = NULL;
10546 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10547 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
10548 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
10549 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
10550 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10552 if (ndr_flags & NDR_BUFFERS) {
10553 if (r->dsa_obj_dn) {
10554 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10555 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
10556 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
10557 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
10558 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
10559 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));
10561 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
10562 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));
10563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
10566 return NDR_ERR_SUCCESS;
10569 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
10571 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
10573 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10575 if (r->dsa_obj_dn) {
10576 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10579 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
10580 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
10581 ndr_print_uint32(ndr, "num_failures", r->num_failures);
10582 ndr_print_WERROR(ndr, "last_result", r->last_result);
10586 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10588 uint32_t cntr_array_0;
10589 if (ndr_flags & NDR_SCALARS) {
10590 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10591 NDR_CHECK(ndr_push_align(ndr, 5));
10592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10594 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10595 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10597 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10599 if (ndr_flags & NDR_BUFFERS) {
10600 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10601 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10604 return NDR_ERR_SUCCESS;
10607 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10609 uint32_t cntr_array_0;
10610 TALLOC_CTX *_mem_save_array_0;
10611 if (ndr_flags & NDR_SCALARS) {
10612 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10613 NDR_CHECK(ndr_pull_align(ndr, 5));
10614 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10615 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10616 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10617 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10618 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10619 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10620 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10622 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10624 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10626 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10628 if (ndr_flags & NDR_BUFFERS) {
10629 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10630 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10631 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10632 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10634 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10636 return NDR_ERR_SUCCESS;
10639 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10641 uint32_t cntr_array_0;
10642 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
10644 ndr_print_uint32(ndr, "count", r->count);
10645 ndr_print_uint32(ndr, "reserved", r->reserved);
10646 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10648 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10650 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10651 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
10659 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
10661 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
10662 return NDR_ERR_SUCCESS;
10665 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
10668 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
10670 return NDR_ERR_SUCCESS;
10673 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
10675 const char *val = NULL;
10678 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10679 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10680 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10681 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10682 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10684 ndr_print_enum(ndr, name, "ENUM", val, r);
10687 static enum ndr_err_code ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRplicaOpOptions *r)
10689 if (ndr_flags & NDR_SCALARS) {
10690 int level = ndr_push_get_switch_value(ndr, r);
10691 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, level));
10692 NDR_CHECK(ndr_push_union_align(ndr, 4));
10694 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10695 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->sync));
10698 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10699 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->add));
10702 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10703 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->op_delete));
10706 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10707 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->modify));
10710 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10711 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->update_refs));
10715 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
10720 if (ndr_flags & NDR_BUFFERS) {
10721 int level = ndr_push_get_switch_value(ndr, r);
10723 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10726 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10729 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10732 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10735 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10743 return NDR_ERR_SUCCESS;
10746 static enum ndr_err_code ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRplicaOpOptions *r)
10750 level = ndr_pull_get_switch_value(ndr, r);
10751 if (ndr_flags & NDR_SCALARS) {
10752 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
10753 if (_level != level) {
10754 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10756 NDR_CHECK(ndr_pull_union_align(ndr, 4));
10758 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10759 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->sync));
10762 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10763 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->add));
10766 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10767 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->op_delete));
10770 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10771 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->modify));
10774 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10775 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->update_refs));
10779 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
10784 if (ndr_flags & NDR_BUFFERS) {
10786 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10789 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10792 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10795 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10798 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10806 return NDR_ERR_SUCCESS;
10809 _PUBLIC_ void ndr_print_drsuapi_DsRplicaOpOptions(struct ndr_print *ndr, const char *name, const union drsuapi_DsRplicaOpOptions *r)
10812 level = ndr_print_get_switch_value(ndr, r);
10813 ndr_print_union(ndr, name, level, "drsuapi_DsRplicaOpOptions");
10815 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10816 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "sync", r->sync);
10819 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10820 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "add", r->add);
10823 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10824 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "op_delete", r->op_delete);
10827 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10828 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "modify", r->modify);
10831 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10832 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "update_refs", r->update_refs);
10836 ndr_print_uint32(ndr, "unknown", r->unknown);
10842 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
10844 if (ndr_flags & NDR_SCALARS) {
10845 NDR_CHECK(ndr_push_align(ndr, 5));
10846 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
10847 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
10848 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
10849 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
10850 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->options, r->operation_type));
10851 NDR_CHECK(ndr_push_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10852 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
10853 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
10854 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
10855 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10856 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10857 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10859 if (ndr_flags & NDR_BUFFERS) {
10861 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10862 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10863 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10864 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10866 if (r->remote_dsa_obj_dn) {
10867 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10868 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10869 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10870 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));
10872 if (r->remote_dsa_address) {
10873 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10874 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10875 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10876 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));
10879 return NDR_ERR_SUCCESS;
10882 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
10884 uint32_t _ptr_nc_dn;
10885 TALLOC_CTX *_mem_save_nc_dn_0;
10886 uint32_t _ptr_remote_dsa_obj_dn;
10887 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
10888 uint32_t _ptr_remote_dsa_address;
10889 TALLOC_CTX *_mem_save_remote_dsa_address_0;
10890 if (ndr_flags & NDR_SCALARS) {
10891 NDR_CHECK(ndr_pull_align(ndr, 5));
10892 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
10893 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
10894 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
10895 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
10896 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->options, r->operation_type));
10897 NDR_CHECK(ndr_pull_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10898 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
10900 NDR_PULL_ALLOC(ndr, r->nc_dn);
10904 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
10905 if (_ptr_remote_dsa_obj_dn) {
10906 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
10908 r->remote_dsa_obj_dn = NULL;
10910 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
10911 if (_ptr_remote_dsa_address) {
10912 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
10914 r->remote_dsa_address = NULL;
10916 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10917 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10918 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10920 if (ndr_flags & NDR_BUFFERS) {
10922 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10923 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
10924 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
10925 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
10926 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
10927 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));
10929 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
10930 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
10931 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
10933 if (r->remote_dsa_obj_dn) {
10934 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10935 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
10936 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
10937 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
10938 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
10939 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));
10941 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
10942 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));
10943 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
10945 if (r->remote_dsa_address) {
10946 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10947 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
10948 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
10949 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
10950 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
10951 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));
10953 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
10954 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));
10955 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
10958 return NDR_ERR_SUCCESS;
10961 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
10963 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
10965 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
10966 ndr_print_uint32(ndr, "serial_num", r->serial_num);
10967 ndr_print_uint32(ndr, "priority", r->priority);
10968 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
10969 ndr_print_set_switch_value(ndr, &r->options, r->operation_type);
10970 ndr_print_drsuapi_DsRplicaOpOptions(ndr, "options", &r->options);
10971 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
10974 ndr_print_string(ndr, "nc_dn", r->nc_dn);
10977 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10979 if (r->remote_dsa_obj_dn) {
10980 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10983 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
10985 if (r->remote_dsa_address) {
10986 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
10989 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
10990 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
10994 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
10996 uint32_t cntr_array_0;
10997 if (ndr_flags & NDR_SCALARS) {
10998 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10999 NDR_CHECK(ndr_push_align(ndr, 5));
11000 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
11001 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11002 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11003 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11005 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11007 if (ndr_flags & NDR_BUFFERS) {
11008 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11009 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11012 return NDR_ERR_SUCCESS;
11015 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
11017 uint32_t cntr_array_0;
11018 TALLOC_CTX *_mem_save_array_0;
11019 if (ndr_flags & NDR_SCALARS) {
11020 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11021 NDR_CHECK(ndr_pull_align(ndr, 5));
11022 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
11023 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11024 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11025 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11026 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11027 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11028 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11030 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11032 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11034 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11036 if (ndr_flags & NDR_BUFFERS) {
11037 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11038 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11039 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11040 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11042 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11044 return NDR_ERR_SUCCESS;
11047 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
11049 uint32_t cntr_array_0;
11050 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
11052 ndr_print_NTTIME(ndr, "time", r->time);
11053 ndr_print_uint32(ndr, "count", r->count);
11054 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11056 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11058 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11059 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
11067 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
11069 if (ndr_flags & NDR_SCALARS) {
11070 NDR_CHECK(ndr_push_align(ndr, 8));
11071 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11072 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11073 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11074 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11075 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11076 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11077 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11078 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11079 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11080 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11081 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11082 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11084 if (ndr_flags & NDR_BUFFERS) {
11085 if (r->attribute_name) {
11086 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11087 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11088 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11089 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11091 if (r->object_dn) {
11092 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11093 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11094 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11095 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11098 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11101 return NDR_ERR_SUCCESS;
11104 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
11106 uint32_t _ptr_attribute_name;
11107 TALLOC_CTX *_mem_save_attribute_name_0;
11108 uint32_t _ptr_object_dn;
11109 TALLOC_CTX *_mem_save_object_dn_0;
11110 uint32_t _ptr_binary;
11111 TALLOC_CTX *_mem_save_binary_0;
11112 if (ndr_flags & NDR_SCALARS) {
11113 NDR_CHECK(ndr_pull_align(ndr, 8));
11114 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11115 if (_ptr_attribute_name) {
11116 NDR_PULL_ALLOC(ndr, r->attribute_name);
11118 r->attribute_name = NULL;
11120 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11121 if (_ptr_object_dn) {
11122 NDR_PULL_ALLOC(ndr, r->object_dn);
11124 r->object_dn = NULL;
11126 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11127 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11129 NDR_PULL_ALLOC(ndr, r->binary);
11133 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11134 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11135 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11136 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11137 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11138 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11139 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11140 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11142 if (ndr_flags & NDR_BUFFERS) {
11143 if (r->attribute_name) {
11144 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11145 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11146 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11147 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11148 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11149 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));
11151 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11152 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11153 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11155 if (r->object_dn) {
11156 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11157 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11158 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11159 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11160 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11161 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));
11163 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11164 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11165 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11168 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11169 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11170 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11174 return NDR_ERR_SUCCESS;
11177 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
11179 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
11181 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11183 if (r->attribute_name) {
11184 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11187 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11189 if (r->object_dn) {
11190 ndr_print_string(ndr, "object_dn", r->object_dn);
11193 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);
11194 ndr_print_ptr(ndr, "binary", r->binary);
11197 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11200 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11201 ndr_print_NTTIME(ndr, "created", r->created);
11202 ndr_print_uint32(ndr, "version", r->version);
11203 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11204 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11205 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11206 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11210 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11212 uint32_t cntr_array_0;
11213 if (ndr_flags & NDR_SCALARS) {
11214 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11215 NDR_CHECK(ndr_push_align(ndr, 8));
11216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11217 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11218 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11219 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11221 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11223 if (ndr_flags & NDR_BUFFERS) {
11224 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11225 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11228 return NDR_ERR_SUCCESS;
11231 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11233 uint32_t cntr_array_0;
11234 TALLOC_CTX *_mem_save_array_0;
11235 if (ndr_flags & NDR_SCALARS) {
11236 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11237 NDR_CHECK(ndr_pull_align(ndr, 8));
11238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11239 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11240 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11241 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11242 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11243 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11244 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11246 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11248 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11250 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11252 if (ndr_flags & NDR_BUFFERS) {
11253 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11254 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11255 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11256 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11258 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11260 return NDR_ERR_SUCCESS;
11263 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11265 uint32_t cntr_array_0;
11266 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
11268 ndr_print_uint32(ndr, "count", r->count);
11269 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11270 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11272 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11274 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11275 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
11283 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
11285 uint32_t cntr_array_0;
11286 if (ndr_flags & NDR_SCALARS) {
11287 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11288 NDR_CHECK(ndr_push_align(ndr, 8));
11289 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11290 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11291 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11292 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11294 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11296 if (ndr_flags & NDR_BUFFERS) {
11298 return NDR_ERR_SUCCESS;
11301 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
11303 uint32_t cntr_array_0;
11304 TALLOC_CTX *_mem_save_array_0;
11305 if (ndr_flags & NDR_SCALARS) {
11306 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11307 NDR_CHECK(ndr_pull_align(ndr, 8));
11308 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11309 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11310 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11311 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11312 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11313 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11314 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11318 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11320 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11322 if (ndr_flags & NDR_BUFFERS) {
11324 return NDR_ERR_SUCCESS;
11327 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
11329 uint32_t cntr_array_0;
11330 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
11332 ndr_print_uint32(ndr, "count", r->count);
11333 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11334 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11336 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11338 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11339 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
11347 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
11349 if (ndr_flags & NDR_SCALARS) {
11350 NDR_CHECK(ndr_push_align(ndr, 8));
11351 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11352 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11353 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
11354 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11355 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11357 if (ndr_flags & NDR_BUFFERS) {
11358 if (r->source_dsa_obj_dn) {
11359 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11360 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11361 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11362 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));
11365 return NDR_ERR_SUCCESS;
11368 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
11370 uint32_t _ptr_source_dsa_obj_dn;
11371 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
11372 if (ndr_flags & NDR_SCALARS) {
11373 NDR_CHECK(ndr_pull_align(ndr, 8));
11374 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11375 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11376 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
11377 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11378 if (_ptr_source_dsa_obj_dn) {
11379 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11381 r->source_dsa_obj_dn = NULL;
11383 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11385 if (ndr_flags & NDR_BUFFERS) {
11386 if (r->source_dsa_obj_dn) {
11387 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11388 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11389 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11390 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11391 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
11392 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));
11394 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
11395 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));
11396 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11399 return NDR_ERR_SUCCESS;
11402 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
11404 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
11406 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11407 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11408 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
11409 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11411 if (r->source_dsa_obj_dn) {
11412 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11418 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
11420 uint32_t cntr_array_0;
11421 if (ndr_flags & NDR_SCALARS) {
11422 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11423 NDR_CHECK(ndr_push_align(ndr, 8));
11424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11425 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11426 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11427 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11429 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11431 if (ndr_flags & NDR_BUFFERS) {
11432 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11433 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11436 return NDR_ERR_SUCCESS;
11439 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
11441 uint32_t cntr_array_0;
11442 TALLOC_CTX *_mem_save_array_0;
11443 if (ndr_flags & NDR_SCALARS) {
11444 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11445 NDR_CHECK(ndr_pull_align(ndr, 8));
11446 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11447 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11448 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11449 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11450 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11451 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11452 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11454 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11456 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11458 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11460 if (ndr_flags & NDR_BUFFERS) {
11461 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11462 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11463 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11464 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11468 return NDR_ERR_SUCCESS;
11471 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
11473 uint32_t cntr_array_0;
11474 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
11476 ndr_print_uint32(ndr, "count", r->count);
11477 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11478 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11480 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11482 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11483 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
11491 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
11493 if (ndr_flags & NDR_SCALARS) {
11494 NDR_CHECK(ndr_push_align(ndr, 8));
11495 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11496 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11497 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11498 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11499 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11500 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11501 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11502 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11504 if (ndr_flags & NDR_BUFFERS) {
11505 if (r->attribute_name) {
11506 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11507 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11508 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11509 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11511 if (r->originating_dsa_dn) {
11512 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11513 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11514 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11515 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));
11518 return NDR_ERR_SUCCESS;
11521 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
11523 uint32_t _ptr_attribute_name;
11524 TALLOC_CTX *_mem_save_attribute_name_0;
11525 uint32_t _ptr_originating_dsa_dn;
11526 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11527 if (ndr_flags & NDR_SCALARS) {
11528 NDR_CHECK(ndr_pull_align(ndr, 8));
11529 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11530 if (_ptr_attribute_name) {
11531 NDR_PULL_ALLOC(ndr, r->attribute_name);
11533 r->attribute_name = NULL;
11535 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11536 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11537 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11538 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11539 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11540 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11541 if (_ptr_originating_dsa_dn) {
11542 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11544 r->originating_dsa_dn = NULL;
11546 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11548 if (ndr_flags & NDR_BUFFERS) {
11549 if (r->attribute_name) {
11550 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11551 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11552 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11553 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11554 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11555 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));
11557 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11558 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11559 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11561 if (r->originating_dsa_dn) {
11562 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11563 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11564 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11565 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11566 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11567 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));
11569 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11570 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));
11571 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11574 return NDR_ERR_SUCCESS;
11577 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
11579 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
11581 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11583 if (r->attribute_name) {
11584 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11587 ndr_print_uint32(ndr, "version", r->version);
11588 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11589 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11590 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11591 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11592 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11594 if (r->originating_dsa_dn) {
11595 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11601 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11603 uint32_t cntr_array_0;
11604 if (ndr_flags & NDR_SCALARS) {
11605 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11606 NDR_CHECK(ndr_push_align(ndr, 8));
11607 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11608 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11609 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11610 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11612 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11614 if (ndr_flags & NDR_BUFFERS) {
11615 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11616 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11619 return NDR_ERR_SUCCESS;
11622 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11624 uint32_t cntr_array_0;
11625 TALLOC_CTX *_mem_save_array_0;
11626 if (ndr_flags & NDR_SCALARS) {
11627 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11628 NDR_CHECK(ndr_pull_align(ndr, 8));
11629 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11630 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11631 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11632 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11633 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11634 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11635 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11639 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11641 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11643 if (ndr_flags & NDR_BUFFERS) {
11644 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11645 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11646 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11647 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11651 return NDR_ERR_SUCCESS;
11654 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11656 uint32_t cntr_array_0;
11657 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
11659 ndr_print_uint32(ndr, "count", r->count);
11660 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11661 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11663 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11665 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11666 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
11674 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11676 if (ndr_flags & NDR_SCALARS) {
11677 NDR_CHECK(ndr_push_align(ndr, 8));
11678 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11679 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11680 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11681 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11682 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11683 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11684 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11685 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11686 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11687 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11688 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11689 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11690 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11692 if (ndr_flags & NDR_BUFFERS) {
11693 if (r->attribute_name) {
11694 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11695 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11696 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11697 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11699 if (r->object_dn) {
11700 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11701 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11702 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11703 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11706 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11708 if (r->originating_dsa_dn) {
11709 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11710 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11711 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11712 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));
11715 return NDR_ERR_SUCCESS;
11718 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
11720 uint32_t _ptr_attribute_name;
11721 TALLOC_CTX *_mem_save_attribute_name_0;
11722 uint32_t _ptr_object_dn;
11723 TALLOC_CTX *_mem_save_object_dn_0;
11724 uint32_t _ptr_binary;
11725 TALLOC_CTX *_mem_save_binary_0;
11726 uint32_t _ptr_originating_dsa_dn;
11727 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11728 if (ndr_flags & NDR_SCALARS) {
11729 NDR_CHECK(ndr_pull_align(ndr, 8));
11730 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11731 if (_ptr_attribute_name) {
11732 NDR_PULL_ALLOC(ndr, r->attribute_name);
11734 r->attribute_name = NULL;
11736 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11737 if (_ptr_object_dn) {
11738 NDR_PULL_ALLOC(ndr, r->object_dn);
11740 r->object_dn = NULL;
11742 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11743 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11745 NDR_PULL_ALLOC(ndr, r->binary);
11749 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11750 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11751 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11752 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11753 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11754 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11755 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11756 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11757 if (_ptr_originating_dsa_dn) {
11758 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11760 r->originating_dsa_dn = NULL;
11762 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11764 if (ndr_flags & NDR_BUFFERS) {
11765 if (r->attribute_name) {
11766 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11767 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11768 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11769 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11770 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11771 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));
11773 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11774 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11775 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11777 if (r->object_dn) {
11778 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11779 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11780 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11781 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11782 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11783 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));
11785 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11786 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11790 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11791 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11792 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11793 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11795 if (r->originating_dsa_dn) {
11796 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11797 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11798 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11799 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11800 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11801 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));
11803 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11804 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));
11805 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11808 return NDR_ERR_SUCCESS;
11811 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11813 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
11815 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11817 if (r->attribute_name) {
11818 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11821 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11823 if (r->object_dn) {
11824 ndr_print_string(ndr, "object_dn", r->object_dn);
11827 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);
11828 ndr_print_ptr(ndr, "binary", r->binary);
11831 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11834 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11835 ndr_print_NTTIME(ndr, "created", r->created);
11836 ndr_print_uint32(ndr, "version", r->version);
11837 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11838 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11839 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11840 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11841 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11843 if (r->originating_dsa_dn) {
11844 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11850 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11852 uint32_t cntr_array_0;
11853 if (ndr_flags & NDR_SCALARS) {
11854 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11855 NDR_CHECK(ndr_push_align(ndr, 8));
11856 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11857 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11858 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11859 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11861 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11863 if (ndr_flags & NDR_BUFFERS) {
11864 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11865 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11868 return NDR_ERR_SUCCESS;
11871 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11873 uint32_t cntr_array_0;
11874 TALLOC_CTX *_mem_save_array_0;
11875 if (ndr_flags & NDR_SCALARS) {
11876 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11877 NDR_CHECK(ndr_pull_align(ndr, 8));
11878 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11879 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11880 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11881 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11882 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11883 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11884 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11886 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11888 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11890 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11892 if (ndr_flags & NDR_BUFFERS) {
11893 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11894 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11895 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11896 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11900 return NDR_ERR_SUCCESS;
11903 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11905 uint32_t cntr_array_0;
11906 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11908 ndr_print_uint32(ndr, "count", r->count);
11909 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11910 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11912 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11914 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11915 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
11923 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
11925 if (ndr_flags & NDR_SCALARS) {
11926 NDR_CHECK(ndr_push_align(ndr, 8));
11927 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
11928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11930 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11931 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
11933 uint32_t _flags_save_ipv4address = ndr->flags;
11934 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11935 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
11936 ndr->flags = _flags_save_ipv4address;
11938 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11939 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11941 if (ndr_flags & NDR_BUFFERS) {
11943 return NDR_ERR_SUCCESS;
11946 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
11948 if (ndr_flags & NDR_SCALARS) {
11949 NDR_CHECK(ndr_pull_align(ndr, 8));
11950 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
11951 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11952 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11953 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11954 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
11956 uint32_t _flags_save_ipv4address = ndr->flags;
11957 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11958 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
11959 ndr->flags = _flags_save_ipv4address;
11961 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11962 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11964 if (ndr_flags & NDR_BUFFERS) {
11966 return NDR_ERR_SUCCESS;
11969 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
11971 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
11973 ndr_print_hyper(ndr, "u1", r->u1);
11974 ndr_print_uint32(ndr, "u2", r->u2);
11975 ndr_print_uint32(ndr, "u3", r->u3);
11976 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
11977 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
11978 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
11979 ndr_print_uint32(ndr, "u5", r->u5);
11983 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
11985 uint32_t cntr_array_0;
11986 if (ndr_flags & NDR_SCALARS) {
11987 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11988 NDR_CHECK(ndr_push_align(ndr, 8));
11989 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11991 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11992 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11994 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11996 if (ndr_flags & NDR_BUFFERS) {
11998 return NDR_ERR_SUCCESS;
12001 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
12003 uint32_t cntr_array_0;
12004 TALLOC_CTX *_mem_save_array_0;
12005 if (ndr_flags & NDR_SCALARS) {
12006 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12007 NDR_CHECK(ndr_pull_align(ndr, 8));
12008 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12009 if (r->count > 10000) {
12010 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12012 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12013 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
12014 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12015 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12016 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12017 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12019 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12021 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12023 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12025 if (ndr_flags & NDR_BUFFERS) {
12027 return NDR_ERR_SUCCESS;
12030 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
12032 uint32_t cntr_array_0;
12033 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
12035 ndr_print_uint32(ndr, "count", r->count);
12036 ndr_print_uint32(ndr, "reserved", r->reserved);
12037 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12039 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12041 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12042 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
12050 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
12052 if (ndr_flags & NDR_SCALARS) {
12053 NDR_CHECK(ndr_push_align(ndr, 8));
12054 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
12055 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
12056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
12057 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
12058 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
12059 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
12060 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
12061 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
12062 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12064 if (ndr_flags & NDR_BUFFERS) {
12066 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
12067 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12068 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
12069 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12072 return NDR_ERR_SUCCESS;
12075 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
12077 uint32_t _ptr_str1;
12078 TALLOC_CTX *_mem_save_str1_0;
12079 if (ndr_flags & NDR_SCALARS) {
12080 NDR_CHECK(ndr_pull_align(ndr, 8));
12081 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
12083 NDR_PULL_ALLOC(ndr, r->str1);
12087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
12088 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
12089 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
12090 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
12091 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
12092 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
12093 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
12094 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12096 if (ndr_flags & NDR_BUFFERS) {
12098 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
12099 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
12100 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
12101 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
12102 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
12103 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));
12105 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
12106 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
12107 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
12110 return NDR_ERR_SUCCESS;
12113 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
12115 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
12117 ndr_print_ptr(ndr, "str1", r->str1);
12120 ndr_print_string(ndr, "str1", r->str1);
12123 ndr_print_uint32(ndr, "u1", r->u1);
12124 ndr_print_uint32(ndr, "u2", r->u2);
12125 ndr_print_uint32(ndr, "u3", r->u3);
12126 ndr_print_uint32(ndr, "u4", r->u4);
12127 ndr_print_uint32(ndr, "u5", r->u5);
12128 ndr_print_hyper(ndr, "u6", r->u6);
12129 ndr_print_uint32(ndr, "u7", r->u7);
12133 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
12135 uint32_t cntr_array_0;
12136 if (ndr_flags & NDR_SCALARS) {
12137 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12138 NDR_CHECK(ndr_push_align(ndr, 8));
12139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
12141 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12142 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12144 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12146 if (ndr_flags & NDR_BUFFERS) {
12147 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12148 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12151 return NDR_ERR_SUCCESS;
12154 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
12156 uint32_t cntr_array_0;
12157 TALLOC_CTX *_mem_save_array_0;
12158 if (ndr_flags & NDR_SCALARS) {
12159 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12160 NDR_CHECK(ndr_pull_align(ndr, 8));
12161 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12162 if (r->count > 256) {
12163 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12165 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12166 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
12167 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12168 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12169 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12170 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12172 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12174 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12176 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12178 if (ndr_flags & NDR_BUFFERS) {
12179 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12180 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12181 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12182 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12184 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12186 return NDR_ERR_SUCCESS;
12189 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
12191 uint32_t cntr_array_0;
12192 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
12194 ndr_print_uint32(ndr, "count", r->count);
12195 ndr_print_uint32(ndr, "reserved", r->reserved);
12196 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12198 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12200 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12201 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
12209 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
12211 if (ndr_flags & NDR_SCALARS) {
12212 int level = ndr_push_get_switch_value(ndr, r);
12213 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
12214 NDR_CHECK(ndr_push_union_align(ndr, 5));
12216 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12217 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
12220 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12221 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
12224 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12225 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
12228 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12229 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
12232 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12233 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
12236 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12237 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
12240 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12241 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
12244 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12245 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
12248 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12249 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
12252 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12253 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
12256 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12257 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
12260 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
12261 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours02));
12264 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12265 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connections04));
12268 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12269 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors05));
12272 case DRSUAPI_DS_REPLICA_INFO_06: {
12273 NDR_CHECK(ndr_push_unique_ptr(ndr, r->i06));
12277 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12280 if (ndr_flags & NDR_BUFFERS) {
12281 int level = ndr_push_get_switch_value(ndr, r);
12283 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12284 if (r->neighbours) {
12285 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12289 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12291 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12295 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12296 if (r->objmetadata) {
12297 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12301 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12302 if (r->connectfailures) {
12303 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12307 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12308 if (r->linkfailures) {
12309 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12313 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12314 if (r->pendingops) {
12315 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12319 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12320 if (r->attrvalmetadata) {
12321 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12325 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12327 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12331 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12333 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12337 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12338 if (r->objmetadata2) {
12339 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12343 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12344 if (r->attrvalmetadata2) {
12345 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12349 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12350 if (r->neighbours02) {
12351 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12355 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12356 if (r->connections04) {
12357 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12361 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12362 if (r->cursors05) {
12363 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12367 case DRSUAPI_DS_REPLICA_INFO_06:
12369 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12374 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12377 return NDR_ERR_SUCCESS;
12380 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
12384 TALLOC_CTX *_mem_save_neighbours_0;
12385 TALLOC_CTX *_mem_save_cursors_0;
12386 TALLOC_CTX *_mem_save_objmetadata_0;
12387 TALLOC_CTX *_mem_save_connectfailures_0;
12388 TALLOC_CTX *_mem_save_linkfailures_0;
12389 TALLOC_CTX *_mem_save_pendingops_0;
12390 TALLOC_CTX *_mem_save_attrvalmetadata_0;
12391 TALLOC_CTX *_mem_save_cursors2_0;
12392 TALLOC_CTX *_mem_save_cursors3_0;
12393 TALLOC_CTX *_mem_save_objmetadata2_0;
12394 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
12395 TALLOC_CTX *_mem_save_neighbours02_0;
12396 TALLOC_CTX *_mem_save_connections04_0;
12397 TALLOC_CTX *_mem_save_cursors05_0;
12398 TALLOC_CTX *_mem_save_i06_0;
12399 level = ndr_pull_get_switch_value(ndr, r);
12400 if (ndr_flags & NDR_SCALARS) {
12401 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12402 if (_level != level) {
12403 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12405 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12407 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12408 uint32_t _ptr_neighbours;
12409 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
12410 if (_ptr_neighbours) {
12411 NDR_PULL_ALLOC(ndr, r->neighbours);
12413 r->neighbours = NULL;
12417 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12418 uint32_t _ptr_cursors;
12419 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
12420 if (_ptr_cursors) {
12421 NDR_PULL_ALLOC(ndr, r->cursors);
12427 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12428 uint32_t _ptr_objmetadata;
12429 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
12430 if (_ptr_objmetadata) {
12431 NDR_PULL_ALLOC(ndr, r->objmetadata);
12433 r->objmetadata = NULL;
12437 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12438 uint32_t _ptr_connectfailures;
12439 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
12440 if (_ptr_connectfailures) {
12441 NDR_PULL_ALLOC(ndr, r->connectfailures);
12443 r->connectfailures = NULL;
12447 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12448 uint32_t _ptr_linkfailures;
12449 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
12450 if (_ptr_linkfailures) {
12451 NDR_PULL_ALLOC(ndr, r->linkfailures);
12453 r->linkfailures = NULL;
12457 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12458 uint32_t _ptr_pendingops;
12459 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
12460 if (_ptr_pendingops) {
12461 NDR_PULL_ALLOC(ndr, r->pendingops);
12463 r->pendingops = NULL;
12467 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12468 uint32_t _ptr_attrvalmetadata;
12469 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
12470 if (_ptr_attrvalmetadata) {
12471 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
12473 r->attrvalmetadata = NULL;
12477 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12478 uint32_t _ptr_cursors2;
12479 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
12480 if (_ptr_cursors2) {
12481 NDR_PULL_ALLOC(ndr, r->cursors2);
12483 r->cursors2 = NULL;
12487 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12488 uint32_t _ptr_cursors3;
12489 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
12490 if (_ptr_cursors3) {
12491 NDR_PULL_ALLOC(ndr, r->cursors3);
12493 r->cursors3 = NULL;
12497 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12498 uint32_t _ptr_objmetadata2;
12499 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
12500 if (_ptr_objmetadata2) {
12501 NDR_PULL_ALLOC(ndr, r->objmetadata2);
12503 r->objmetadata2 = NULL;
12507 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12508 uint32_t _ptr_attrvalmetadata2;
12509 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
12510 if (_ptr_attrvalmetadata2) {
12511 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
12513 r->attrvalmetadata2 = NULL;
12517 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
12518 uint32_t _ptr_neighbours02;
12519 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours02));
12520 if (_ptr_neighbours02) {
12521 NDR_PULL_ALLOC(ndr, r->neighbours02);
12523 r->neighbours02 = NULL;
12527 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12528 uint32_t _ptr_connections04;
12529 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connections04));
12530 if (_ptr_connections04) {
12531 NDR_PULL_ALLOC(ndr, r->connections04);
12533 r->connections04 = NULL;
12537 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12538 uint32_t _ptr_cursors05;
12539 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors05));
12540 if (_ptr_cursors05) {
12541 NDR_PULL_ALLOC(ndr, r->cursors05);
12543 r->cursors05 = NULL;
12547 case DRSUAPI_DS_REPLICA_INFO_06: {
12549 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_i06));
12551 NDR_PULL_ALLOC(ndr, r->i06);
12558 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12561 if (ndr_flags & NDR_BUFFERS) {
12563 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12564 if (r->neighbours) {
12565 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
12566 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
12567 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12568 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
12572 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12574 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
12575 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
12576 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12577 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
12581 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12582 if (r->objmetadata) {
12583 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12584 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
12585 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
12590 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12591 if (r->connectfailures) {
12592 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12593 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
12594 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12595 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
12599 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12600 if (r->linkfailures) {
12601 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12602 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
12603 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12604 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
12608 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12609 if (r->pendingops) {
12610 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
12611 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
12612 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12613 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
12617 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12618 if (r->attrvalmetadata) {
12619 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12620 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
12621 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12622 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
12626 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12628 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12629 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
12630 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12631 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
12635 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12637 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12638 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
12639 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12640 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
12644 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12645 if (r->objmetadata2) {
12646 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12647 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
12648 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
12653 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12654 if (r->attrvalmetadata2) {
12655 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12656 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
12657 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12658 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
12662 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12663 if (r->neighbours02) {
12664 _mem_save_neighbours02_0 = NDR_PULL_GET_MEM_CTX(ndr);
12665 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours02, 0);
12666 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12667 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours02_0, 0);
12671 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12672 if (r->connections04) {
12673 _mem_save_connections04_0 = NDR_PULL_GET_MEM_CTX(ndr);
12674 NDR_PULL_SET_MEM_CTX(ndr, r->connections04, 0);
12675 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12676 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connections04_0, 0);
12680 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12681 if (r->cursors05) {
12682 _mem_save_cursors05_0 = NDR_PULL_GET_MEM_CTX(ndr);
12683 NDR_PULL_SET_MEM_CTX(ndr, r->cursors05, 0);
12684 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12685 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors05_0, 0);
12689 case DRSUAPI_DS_REPLICA_INFO_06:
12691 _mem_save_i06_0 = NDR_PULL_GET_MEM_CTX(ndr);
12692 NDR_PULL_SET_MEM_CTX(ndr, r->i06, 0);
12693 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12694 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_i06_0, 0);
12699 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12702 return NDR_ERR_SUCCESS;
12705 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
12708 level = ndr_print_get_switch_value(ndr, r);
12709 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
12711 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12712 ndr_print_ptr(ndr, "neighbours", r->neighbours);
12714 if (r->neighbours) {
12715 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
12720 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12721 ndr_print_ptr(ndr, "cursors", r->cursors);
12724 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
12729 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12730 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
12732 if (r->objmetadata) {
12733 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
12738 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12739 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
12741 if (r->connectfailures) {
12742 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
12747 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12748 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
12750 if (r->linkfailures) {
12751 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
12756 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12757 ndr_print_ptr(ndr, "pendingops", r->pendingops);
12759 if (r->pendingops) {
12760 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
12765 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12766 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
12768 if (r->attrvalmetadata) {
12769 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
12774 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12775 ndr_print_ptr(ndr, "cursors2", r->cursors2);
12778 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
12783 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12784 ndr_print_ptr(ndr, "cursors3", r->cursors3);
12787 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
12792 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12793 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
12795 if (r->objmetadata2) {
12796 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
12801 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12802 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12804 if (r->attrvalmetadata2) {
12805 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12810 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12811 ndr_print_ptr(ndr, "neighbours02", r->neighbours02);
12813 if (r->neighbours02) {
12814 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours02", r->neighbours02);
12819 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12820 ndr_print_ptr(ndr, "connections04", r->connections04);
12822 if (r->connections04) {
12823 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "connections04", r->connections04);
12828 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12829 ndr_print_ptr(ndr, "cursors05", r->cursors05);
12831 if (r->cursors05) {
12832 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "cursors05", r->cursors05);
12837 case DRSUAPI_DS_REPLICA_INFO_06:
12838 ndr_print_ptr(ndr, "i06", r->i06);
12841 ndr_print_drsuapi_DsReplica06Ctr(ndr, "i06", r->i06);
12847 ndr_print_bad_level(ndr, name, level);
12851 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
12853 if (ndr_flags & NDR_SCALARS) {
12854 int level = ndr_push_get_switch_value(ndr, r);
12855 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12856 NDR_CHECK(ndr_push_union_align(ndr, 5));
12859 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12863 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12866 if (ndr_flags & NDR_BUFFERS) {
12867 int level = ndr_push_get_switch_value(ndr, r);
12870 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12874 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12877 return NDR_ERR_SUCCESS;
12880 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
12884 level = ndr_pull_get_switch_value(ndr, r);
12885 if (ndr_flags & NDR_SCALARS) {
12886 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12887 if (_level != level) {
12888 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12890 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12893 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12897 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12900 if (ndr_flags & NDR_BUFFERS) {
12903 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12907 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12910 return NDR_ERR_SUCCESS;
12913 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
12916 level = ndr_print_get_switch_value(ndr, r);
12917 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
12920 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
12924 ndr_print_bad_level(ndr, name, level);
12928 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
12930 uint32_t cntr_req_array_1;
12931 if (ndr_flags & NDR_SCALARS) {
12932 NDR_CHECK(ndr_push_align(ndr, 5));
12933 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12934 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
12935 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12937 if (ndr_flags & NDR_BUFFERS) {
12938 if (r->req_array) {
12939 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
12940 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12941 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
12943 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12944 if (r->req_array[cntr_req_array_1]) {
12945 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12950 return NDR_ERR_SUCCESS;
12953 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
12955 uint32_t _ptr_req_array;
12956 uint32_t cntr_req_array_1;
12957 TALLOC_CTX *_mem_save_req_array_0;
12958 TALLOC_CTX *_mem_save_req_array_1;
12959 TALLOC_CTX *_mem_save_req_array_2;
12960 if (ndr_flags & NDR_SCALARS) {
12961 NDR_CHECK(ndr_pull_align(ndr, 5));
12962 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12963 if (r->num_req < 1 || r->num_req > 10000) {
12964 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12966 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12967 if (_ptr_req_array) {
12968 NDR_PULL_ALLOC(ndr, r->req_array);
12970 r->req_array = NULL;
12972 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12974 if (ndr_flags & NDR_BUFFERS) {
12975 if (r->req_array) {
12976 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12977 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12978 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
12979 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
12980 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12981 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12982 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12983 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12984 if (_ptr_req_array) {
12985 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
12987 r->req_array[cntr_req_array_1] = NULL;
12990 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12991 if (r->req_array[cntr_req_array_1]) {
12992 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
12993 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
12994 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12995 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
12998 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
12999 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
13001 if (r->req_array) {
13002 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
13005 return NDR_ERR_SUCCESS;
13008 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
13010 uint32_t cntr_req_array_1;
13011 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
13013 ndr_print_uint32(ndr, "num_req", r->num_req);
13014 ndr_print_ptr(ndr, "req_array", r->req_array);
13016 if (r->req_array) {
13017 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
13019 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
13021 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
13022 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
13024 if (r->req_array[cntr_req_array_1]) {
13025 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
13037 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
13039 if (ndr_flags & NDR_SCALARS) {
13040 int level = ndr_push_get_switch_value(ndr, r);
13041 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13042 NDR_CHECK(ndr_push_union_align(ndr, 5));
13045 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
13049 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13052 if (ndr_flags & NDR_BUFFERS) {
13053 int level = ndr_push_get_switch_value(ndr, r);
13056 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
13060 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13063 return NDR_ERR_SUCCESS;
13066 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
13070 level = ndr_pull_get_switch_value(ndr, r);
13071 if (ndr_flags & NDR_SCALARS) {
13072 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13073 if (_level != level) {
13074 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13076 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13079 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
13083 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13086 if (ndr_flags & NDR_BUFFERS) {
13089 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
13093 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13096 return NDR_ERR_SUCCESS;
13099 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
13102 level = ndr_print_get_switch_value(ndr, r);
13103 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
13106 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
13110 ndr_print_bad_level(ndr, name, level);
13114 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
13116 if (ndr_flags & NDR_SCALARS) {
13117 NDR_CHECK(ndr_push_align(ndr, 4));
13118 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
13119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
13120 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
13122 if (ndr_flags & NDR_BUFFERS) {
13124 return NDR_ERR_SUCCESS;
13127 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
13129 if (ndr_flags & NDR_SCALARS) {
13130 NDR_CHECK(ndr_pull_align(ndr, 4));
13131 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
13132 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
13133 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
13135 if (ndr_flags & NDR_BUFFERS) {
13137 return NDR_ERR_SUCCESS;
13140 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
13142 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
13144 ndr_print_WERROR(ndr, "error_code", r->error_code);
13145 ndr_print_uint32(ndr, "site_cost", r->site_cost);
13149 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
13151 uint32_t cntr_info_1;
13152 if (ndr_flags & NDR_SCALARS) {
13153 NDR_CHECK(ndr_push_align(ndr, 5));
13154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
13155 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
13156 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
13157 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13159 if (ndr_flags & NDR_BUFFERS) {
13161 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
13162 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13163 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13167 return NDR_ERR_SUCCESS;
13170 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
13172 uint32_t _ptr_info;
13173 uint32_t cntr_info_1;
13174 TALLOC_CTX *_mem_save_info_0;
13175 TALLOC_CTX *_mem_save_info_1;
13176 if (ndr_flags & NDR_SCALARS) {
13177 NDR_CHECK(ndr_pull_align(ndr, 5));
13178 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
13179 if (r->num_info > 10000) {
13180 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13182 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13184 NDR_PULL_ALLOC(ndr, r->info);
13188 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
13189 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13191 if (ndr_flags & NDR_BUFFERS) {
13193 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13194 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13195 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
13196 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
13197 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13198 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13199 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13200 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13202 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13203 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
13206 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
13209 return NDR_ERR_SUCCESS;
13212 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
13214 uint32_t cntr_info_1;
13215 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
13217 ndr_print_uint32(ndr, "num_info", r->num_info);
13218 ndr_print_ptr(ndr, "info", r->info);
13221 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
13223 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
13225 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
13226 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
13233 ndr_print_uint32(ndr, "unknown", r->unknown);
13237 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
13239 if (ndr_flags & NDR_SCALARS) {
13240 int level = ndr_push_get_switch_value(ndr, r);
13241 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13242 NDR_CHECK(ndr_push_union_align(ndr, 5));
13245 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13249 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13252 if (ndr_flags & NDR_BUFFERS) {
13253 int level = ndr_push_get_switch_value(ndr, r);
13256 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13260 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13263 return NDR_ERR_SUCCESS;
13266 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
13270 level = ndr_pull_get_switch_value(ndr, r);
13271 if (ndr_flags & NDR_SCALARS) {
13272 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13273 if (_level != level) {
13274 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13276 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13279 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13283 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13286 if (ndr_flags & NDR_BUFFERS) {
13289 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13293 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13296 return NDR_ERR_SUCCESS;
13299 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
13302 level = ndr_print_get_switch_value(ndr, r);
13303 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
13306 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
13310 ndr_print_bad_level(ndr, name, level);
13314 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
13316 uint32_t cntr_site_to_1;
13317 if (ndr_flags & NDR_SCALARS) {
13318 NDR_CHECK(ndr_push_align(ndr, 5));
13319 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
13320 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
13321 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
13322 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
13323 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13325 if (ndr_flags & NDR_BUFFERS) {
13326 if (r->site_from) {
13327 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13328 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13329 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13330 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13333 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13334 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13335 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
13337 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13338 if (r->site_to[cntr_site_to_1]) {
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_uint3264(ndr, NDR_SCALARS, 0));
13341 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13342 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));
13347 return NDR_ERR_SUCCESS;
13350 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
13352 uint32_t _ptr_site_from;
13353 TALLOC_CTX *_mem_save_site_from_0;
13354 uint32_t _ptr_site_to;
13355 uint32_t cntr_site_to_1;
13356 TALLOC_CTX *_mem_save_site_to_0;
13357 TALLOC_CTX *_mem_save_site_to_1;
13358 TALLOC_CTX *_mem_save_site_to_2;
13359 if (ndr_flags & NDR_SCALARS) {
13360 NDR_CHECK(ndr_pull_align(ndr, 5));
13361 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
13362 if (_ptr_site_from) {
13363 NDR_PULL_ALLOC(ndr, r->site_from);
13365 r->site_from = NULL;
13367 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13368 if (r->num_req < 1 || r->num_req > 10000) {
13369 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13371 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13372 if (_ptr_site_to) {
13373 NDR_PULL_ALLOC(ndr, r->site_to);
13377 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
13378 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13380 if (ndr_flags & NDR_BUFFERS) {
13381 if (r->site_from) {
13382 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
13383 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
13384 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
13385 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
13386 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
13387 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));
13389 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
13390 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
13391 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
13394 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
13395 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13396 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
13397 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
13398 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
13399 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13400 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13401 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13402 if (_ptr_site_to) {
13403 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
13405 r->site_to[cntr_site_to_1] = NULL;
13408 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13409 if (r->site_to[cntr_site_to_1]) {
13410 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
13411 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
13412 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
13413 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
13414 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])) {
13415 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]));
13417 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
13418 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));
13419 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
13422 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
13423 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
13426 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
13429 return NDR_ERR_SUCCESS;
13432 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
13434 uint32_t cntr_site_to_1;
13435 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
13437 ndr_print_ptr(ndr, "site_from", r->site_from);
13439 if (r->site_from) {
13440 ndr_print_string(ndr, "site_from", r->site_from);
13443 ndr_print_uint32(ndr, "num_req", r->num_req);
13444 ndr_print_ptr(ndr, "site_to", r->site_to);
13447 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
13449 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
13451 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
13452 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
13454 if (r->site_to[cntr_site_to_1]) {
13455 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
13464 ndr_print_uint32(ndr, "flags", r->flags);
13468 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
13470 if (ndr_flags & NDR_SCALARS) {
13471 int level = ndr_push_get_switch_value(ndr, r);
13472 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13473 NDR_CHECK(ndr_push_union_align(ndr, 5));
13476 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13480 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13483 if (ndr_flags & NDR_BUFFERS) {
13484 int level = ndr_push_get_switch_value(ndr, r);
13487 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13491 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13494 return NDR_ERR_SUCCESS;
13497 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
13501 level = ndr_pull_get_switch_value(ndr, r);
13502 if (ndr_flags & NDR_SCALARS) {
13503 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13504 if (_level != level) {
13505 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13507 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13510 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13514 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13517 if (ndr_flags & NDR_BUFFERS) {
13520 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13524 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13527 return NDR_ERR_SUCCESS;
13530 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
13533 level = ndr_print_get_switch_value(ndr, r);
13534 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
13537 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
13541 ndr_print_bad_level(ndr, name, level);
13545 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
13547 if (flags & NDR_IN) {
13548 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
13549 if (r->in.bind_guid) {
13550 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13552 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
13553 if (r->in.bind_info) {
13554 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13557 if (flags & NDR_OUT) {
13558 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
13559 if (r->out.bind_info) {
13560 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13562 if (r->out.bind_handle == NULL) {
13563 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13565 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13566 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13568 return NDR_ERR_SUCCESS;
13571 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
13573 uint32_t _ptr_bind_guid;
13574 uint32_t _ptr_bind_info;
13575 TALLOC_CTX *_mem_save_bind_guid_0;
13576 TALLOC_CTX *_mem_save_bind_info_0;
13577 TALLOC_CTX *_mem_save_bind_handle_0;
13578 if (flags & NDR_IN) {
13579 ZERO_STRUCT(r->out);
13581 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
13582 if (_ptr_bind_guid) {
13583 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
13585 r->in.bind_guid = NULL;
13587 if (r->in.bind_guid) {
13588 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13589 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
13590 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13591 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
13593 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13594 if (_ptr_bind_info) {
13595 NDR_PULL_ALLOC(ndr, r->in.bind_info);
13597 r->in.bind_info = NULL;
13599 if (r->in.bind_info) {
13600 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13601 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
13602 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13603 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13605 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13606 ZERO_STRUCTP(r->out.bind_handle);
13608 if (flags & NDR_OUT) {
13609 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13610 if (_ptr_bind_info) {
13611 NDR_PULL_ALLOC(ndr, r->out.bind_info);
13613 r->out.bind_info = NULL;
13615 if (r->out.bind_info) {
13616 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13617 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
13618 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13621 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13622 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13624 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13625 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13626 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13627 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13628 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13630 return NDR_ERR_SUCCESS;
13633 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
13635 ndr_print_struct(ndr, name, "drsuapi_DsBind");
13637 if (flags & NDR_SET_VALUES) {
13638 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13640 if (flags & NDR_IN) {
13641 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
13643 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
13645 if (r->in.bind_guid) {
13646 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
13649 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
13651 if (r->in.bind_info) {
13652 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
13657 if (flags & NDR_OUT) {
13658 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
13660 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
13662 if (r->out.bind_info) {
13663 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
13666 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13668 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13670 ndr_print_WERROR(ndr, "result", r->out.result);
13676 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
13678 if (flags & NDR_IN) {
13679 if (r->in.bind_handle == NULL) {
13680 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13682 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13684 if (flags & NDR_OUT) {
13685 if (r->out.bind_handle == NULL) {
13686 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13688 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13689 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13691 return NDR_ERR_SUCCESS;
13694 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
13696 TALLOC_CTX *_mem_save_bind_handle_0;
13697 if (flags & NDR_IN) {
13698 ZERO_STRUCT(r->out);
13700 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13701 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13703 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13704 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13705 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13706 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13707 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13708 *r->out.bind_handle = *r->in.bind_handle;
13710 if (flags & NDR_OUT) {
13711 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13712 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13714 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13715 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13716 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13717 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13718 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13720 return NDR_ERR_SUCCESS;
13723 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
13725 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
13727 if (flags & NDR_SET_VALUES) {
13728 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13730 if (flags & NDR_IN) {
13731 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
13733 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13735 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13739 if (flags & NDR_OUT) {
13740 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
13742 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13744 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13746 ndr_print_WERROR(ndr, "result", r->out.result);
13752 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
13754 if (flags & NDR_IN) {
13755 if (r->in.bind_handle == NULL) {
13756 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13758 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13759 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13760 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13761 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13763 if (flags & NDR_OUT) {
13764 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13766 return NDR_ERR_SUCCESS;
13769 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
13771 TALLOC_CTX *_mem_save_bind_handle_0;
13772 if (flags & NDR_IN) {
13773 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13774 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13776 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13777 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13778 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13780 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13781 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13782 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13784 if (flags & NDR_OUT) {
13785 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13787 return NDR_ERR_SUCCESS;
13790 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
13792 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
13794 if (flags & NDR_SET_VALUES) {
13795 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13797 if (flags & NDR_IN) {
13798 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
13800 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13802 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13804 ndr_print_int32(ndr, "level", r->in.level);
13805 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13806 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", &r->in.req);
13809 if (flags & NDR_OUT) {
13810 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
13812 ndr_print_WERROR(ndr, "result", r->out.result);
13818 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
13820 if (flags & NDR_IN) {
13821 if (r->in.bind_handle == NULL) {
13822 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13824 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13825 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13826 if (r->in.req == NULL) {
13827 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13829 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13830 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13832 if (flags & NDR_OUT) {
13833 if (r->out.level_out == NULL) {
13834 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13836 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13837 if (r->out.ctr == NULL) {
13838 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13840 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13841 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13842 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13844 return NDR_ERR_SUCCESS;
13847 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
13849 TALLOC_CTX *_mem_save_bind_handle_0;
13850 TALLOC_CTX *_mem_save_req_0;
13851 TALLOC_CTX *_mem_save_level_out_0;
13852 TALLOC_CTX *_mem_save_ctr_0;
13853 if (flags & NDR_IN) {
13854 ZERO_STRUCT(r->out);
13856 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13857 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13859 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13860 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13861 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13862 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13863 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13864 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13865 NDR_PULL_ALLOC(ndr, r->in.req);
13867 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13868 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13869 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13870 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13871 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13872 NDR_PULL_ALLOC(ndr, r->out.level_out);
13873 ZERO_STRUCTP(r->out.level_out);
13874 NDR_PULL_ALLOC(ndr, r->out.ctr);
13875 ZERO_STRUCTP(r->out.ctr);
13877 if (flags & NDR_OUT) {
13878 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13879 NDR_PULL_ALLOC(ndr, r->out.level_out);
13881 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13882 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13883 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13884 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13885 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13886 NDR_PULL_ALLOC(ndr, r->out.ctr);
13888 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13889 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13890 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13891 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13892 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13893 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13895 return NDR_ERR_SUCCESS;
13898 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
13900 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
13902 if (flags & NDR_SET_VALUES) {
13903 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13905 if (flags & NDR_IN) {
13906 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
13908 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13910 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13912 ndr_print_int32(ndr, "level", r->in.level);
13913 ndr_print_ptr(ndr, "req", r->in.req);
13915 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13916 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
13920 if (flags & NDR_OUT) {
13921 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
13923 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13925 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13927 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13929 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13930 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
13932 ndr_print_WERROR(ndr, "result", r->out.result);
13938 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13940 if (flags & NDR_IN) {
13941 if (r->in.bind_handle == NULL) {
13942 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13944 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13945 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13946 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13947 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13949 if (flags & NDR_OUT) {
13950 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13952 return NDR_ERR_SUCCESS;
13955 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
13957 TALLOC_CTX *_mem_save_bind_handle_0;
13958 if (flags & NDR_IN) {
13959 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13960 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13962 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13963 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13964 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13965 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13966 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13967 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13968 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13970 if (flags & NDR_OUT) {
13971 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13973 return NDR_ERR_SUCCESS;
13976 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13978 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
13980 if (flags & NDR_SET_VALUES) {
13981 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13983 if (flags & NDR_IN) {
13984 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
13986 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13988 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13990 ndr_print_int32(ndr, "level", r->in.level);
13991 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13992 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
13995 if (flags & NDR_OUT) {
13996 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
13998 ndr_print_WERROR(ndr, "result", r->out.result);
14004 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
14006 if (flags & NDR_IN) {
14007 if (r->in.bind_handle == NULL) {
14008 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14010 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14011 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14012 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14013 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14015 if (flags & NDR_OUT) {
14016 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14018 return NDR_ERR_SUCCESS;
14021 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
14023 TALLOC_CTX *_mem_save_bind_handle_0;
14024 if (flags & NDR_IN) {
14025 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14026 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14028 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14029 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14030 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14031 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14032 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14033 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14034 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14036 if (flags & NDR_OUT) {
14037 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14039 return NDR_ERR_SUCCESS;
14042 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
14044 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
14046 if (flags & NDR_SET_VALUES) {
14047 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14049 if (flags & NDR_IN) {
14050 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
14052 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14054 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14056 ndr_print_int32(ndr, "level", r->in.level);
14057 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14058 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
14061 if (flags & NDR_OUT) {
14062 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
14064 ndr_print_WERROR(ndr, "result", r->out.result);
14070 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
14072 if (flags & NDR_IN) {
14073 if (r->in.bind_handle == NULL) {
14074 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14076 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14077 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14078 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14079 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14081 if (flags & NDR_OUT) {
14082 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14084 return NDR_ERR_SUCCESS;
14087 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
14089 TALLOC_CTX *_mem_save_bind_handle_0;
14090 if (flags & NDR_IN) {
14091 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14092 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14094 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14095 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14096 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14098 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14099 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14100 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14102 if (flags & NDR_OUT) {
14103 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14105 return NDR_ERR_SUCCESS;
14108 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
14110 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
14112 if (flags & NDR_SET_VALUES) {
14113 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14115 if (flags & NDR_IN) {
14116 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
14118 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14120 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14122 ndr_print_int32(ndr, "level", r->in.level);
14123 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14124 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
14127 if (flags & NDR_OUT) {
14128 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
14130 ndr_print_WERROR(ndr, "result", r->out.result);
14136 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
14138 if (flags & NDR_IN) {
14139 if (r->in.bind_handle == NULL) {
14140 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14142 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14143 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14144 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14145 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14147 if (flags & NDR_OUT) {
14148 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14150 return NDR_ERR_SUCCESS;
14153 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
14155 TALLOC_CTX *_mem_save_bind_handle_0;
14156 if (flags & NDR_IN) {
14157 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14158 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14160 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14161 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14162 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14163 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14164 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14165 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14166 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14168 if (flags & NDR_OUT) {
14169 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14171 return NDR_ERR_SUCCESS;
14174 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
14176 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
14178 if (flags & NDR_SET_VALUES) {
14179 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14181 if (flags & NDR_IN) {
14182 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
14184 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14186 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14188 ndr_print_int32(ndr, "level", r->in.level);
14189 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14190 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
14193 if (flags & NDR_OUT) {
14194 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
14196 ndr_print_WERROR(ndr, "result", r->out.result);
14202 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14204 if (flags & NDR_IN) {
14206 if (flags & NDR_OUT) {
14207 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14209 return NDR_ERR_SUCCESS;
14212 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
14214 if (flags & NDR_IN) {
14216 if (flags & NDR_OUT) {
14217 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14219 return NDR_ERR_SUCCESS;
14222 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14224 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
14226 if (flags & NDR_SET_VALUES) {
14227 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14229 if (flags & NDR_IN) {
14230 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
14234 if (flags & NDR_OUT) {
14235 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
14237 ndr_print_WERROR(ndr, "result", r->out.result);
14243 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
14245 if (flags & NDR_IN) {
14246 if (r->in.bind_handle == NULL) {
14247 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14249 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14250 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14251 if (r->in.req == NULL) {
14252 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14254 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14255 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14257 if (flags & NDR_OUT) {
14258 if (r->out.level_out == NULL) {
14259 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14261 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14262 if (r->out.ctr == NULL) {
14263 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14265 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14266 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14267 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14269 return NDR_ERR_SUCCESS;
14272 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
14274 TALLOC_CTX *_mem_save_bind_handle_0;
14275 TALLOC_CTX *_mem_save_req_0;
14276 TALLOC_CTX *_mem_save_level_out_0;
14277 TALLOC_CTX *_mem_save_ctr_0;
14278 if (flags & NDR_IN) {
14279 ZERO_STRUCT(r->out);
14281 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14282 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14284 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14285 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14286 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14288 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14289 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14290 NDR_PULL_ALLOC(ndr, r->in.req);
14292 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14293 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14294 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14295 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14297 NDR_PULL_ALLOC(ndr, r->out.level_out);
14298 ZERO_STRUCTP(r->out.level_out);
14299 NDR_PULL_ALLOC(ndr, r->out.ctr);
14300 ZERO_STRUCTP(r->out.ctr);
14302 if (flags & NDR_OUT) {
14303 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14304 NDR_PULL_ALLOC(ndr, r->out.level_out);
14306 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14307 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14308 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14309 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14310 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14311 NDR_PULL_ALLOC(ndr, r->out.ctr);
14313 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14314 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14315 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14316 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14318 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14320 return NDR_ERR_SUCCESS;
14323 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
14325 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
14327 if (flags & NDR_SET_VALUES) {
14328 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14330 if (flags & NDR_IN) {
14331 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
14333 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14335 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14337 ndr_print_int32(ndr, "level", r->in.level);
14338 ndr_print_ptr(ndr, "req", r->in.req);
14340 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14341 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
14345 if (flags & NDR_OUT) {
14346 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
14348 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14350 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14352 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14354 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14355 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
14357 ndr_print_WERROR(ndr, "result", r->out.result);
14363 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14365 if (flags & NDR_IN) {
14367 if (flags & NDR_OUT) {
14368 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14370 return NDR_ERR_SUCCESS;
14373 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14375 if (flags & NDR_IN) {
14377 if (flags & NDR_OUT) {
14378 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14380 return NDR_ERR_SUCCESS;
14383 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14385 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
14387 if (flags & NDR_SET_VALUES) {
14388 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14390 if (flags & NDR_IN) {
14391 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14395 if (flags & NDR_OUT) {
14396 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14398 ndr_print_WERROR(ndr, "result", r->out.result);
14404 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14406 if (flags & NDR_IN) {
14407 if (r->in.bind_handle == NULL) {
14408 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14410 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14411 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14412 if (r->in.req == NULL) {
14413 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14415 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14416 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14418 if (flags & NDR_OUT) {
14419 if (r->out.level_out == NULL) {
14420 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14423 if (r->out.info == NULL) {
14424 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14426 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
14427 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14428 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14430 return NDR_ERR_SUCCESS;
14433 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
14435 TALLOC_CTX *_mem_save_bind_handle_0;
14436 TALLOC_CTX *_mem_save_req_0;
14437 TALLOC_CTX *_mem_save_level_out_0;
14438 TALLOC_CTX *_mem_save_info_0;
14439 if (flags & NDR_IN) {
14440 ZERO_STRUCT(r->out);
14442 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14443 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14445 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14446 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14447 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14448 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14449 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14450 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14451 NDR_PULL_ALLOC(ndr, r->in.req);
14453 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14454 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14455 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14456 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14457 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14458 NDR_PULL_ALLOC(ndr, r->out.level_out);
14459 ZERO_STRUCTP(r->out.level_out);
14460 NDR_PULL_ALLOC(ndr, r->out.info);
14461 ZERO_STRUCTP(r->out.info);
14463 if (flags & NDR_OUT) {
14464 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14465 NDR_PULL_ALLOC(ndr, r->out.level_out);
14467 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14468 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14469 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14471 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14472 NDR_PULL_ALLOC(ndr, r->out.info);
14474 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14475 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14476 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
14477 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14478 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14479 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14481 return NDR_ERR_SUCCESS;
14484 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14486 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
14488 if (flags & NDR_SET_VALUES) {
14489 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14491 if (flags & NDR_IN) {
14492 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
14494 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14496 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14498 ndr_print_uint32(ndr, "level", r->in.level);
14499 ndr_print_ptr(ndr, "req", r->in.req);
14501 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14502 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
14506 if (flags & NDR_OUT) {
14507 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
14509 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14511 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14513 ndr_print_ptr(ndr, "info", r->out.info);
14515 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
14516 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
14518 ndr_print_WERROR(ndr, "result", r->out.result);
14524 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
14526 if (flags & NDR_IN) {
14527 if (r->in.bind_handle == NULL) {
14528 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14530 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14531 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14532 if (r->in.req == NULL) {
14533 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14535 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14536 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14538 if (flags & NDR_OUT) {
14539 if (r->out.level_out == NULL) {
14540 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14542 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14543 if (r->out.ctr == NULL) {
14544 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14546 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14547 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14548 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14550 return NDR_ERR_SUCCESS;
14553 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
14555 TALLOC_CTX *_mem_save_bind_handle_0;
14556 TALLOC_CTX *_mem_save_req_0;
14557 TALLOC_CTX *_mem_save_level_out_0;
14558 TALLOC_CTX *_mem_save_ctr_0;
14559 if (flags & NDR_IN) {
14560 ZERO_STRUCT(r->out);
14562 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14563 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14565 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14566 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14567 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14568 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14569 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14570 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14571 NDR_PULL_ALLOC(ndr, r->in.req);
14573 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14574 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14575 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14576 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14577 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14578 NDR_PULL_ALLOC(ndr, r->out.level_out);
14579 ZERO_STRUCTP(r->out.level_out);
14580 NDR_PULL_ALLOC(ndr, r->out.ctr);
14581 ZERO_STRUCTP(r->out.ctr);
14583 if (flags & NDR_OUT) {
14584 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14585 NDR_PULL_ALLOC(ndr, r->out.level_out);
14587 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14588 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14589 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14590 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14591 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14592 NDR_PULL_ALLOC(ndr, r->out.ctr);
14594 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14595 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14596 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14597 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14598 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14599 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14601 return NDR_ERR_SUCCESS;
14604 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
14606 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
14608 if (flags & NDR_SET_VALUES) {
14609 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14611 if (flags & NDR_IN) {
14612 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
14614 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14616 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14618 ndr_print_int32(ndr, "level", r->in.level);
14619 ndr_print_ptr(ndr, "req", r->in.req);
14621 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14622 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
14626 if (flags & NDR_OUT) {
14627 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
14629 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14631 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14633 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14635 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14636 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
14638 ndr_print_WERROR(ndr, "result", r->out.result);
14644 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14646 if (flags & NDR_IN) {
14647 if (r->in.bind_handle == NULL) {
14648 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14650 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14651 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14652 if (r->in.req == NULL) {
14653 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14655 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14656 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14658 if (flags & NDR_OUT) {
14659 if (r->out.level_out == NULL) {
14660 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14662 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14663 if (r->out.res == NULL) {
14664 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14666 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14667 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14668 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14670 return NDR_ERR_SUCCESS;
14673 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
14675 TALLOC_CTX *_mem_save_bind_handle_0;
14676 TALLOC_CTX *_mem_save_req_0;
14677 TALLOC_CTX *_mem_save_level_out_0;
14678 TALLOC_CTX *_mem_save_res_0;
14679 if (flags & NDR_IN) {
14680 ZERO_STRUCT(r->out);
14682 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14683 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14685 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14686 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14687 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14688 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14689 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14690 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14691 NDR_PULL_ALLOC(ndr, r->in.req);
14693 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14694 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14695 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14696 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14697 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14698 NDR_PULL_ALLOC(ndr, r->out.level_out);
14699 ZERO_STRUCTP(r->out.level_out);
14700 NDR_PULL_ALLOC(ndr, r->out.res);
14701 ZERO_STRUCTP(r->out.res);
14703 if (flags & NDR_OUT) {
14704 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14705 NDR_PULL_ALLOC(ndr, r->out.level_out);
14707 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14708 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14709 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14710 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14711 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14712 NDR_PULL_ALLOC(ndr, r->out.res);
14714 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14715 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14716 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14717 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14718 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14719 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14721 return NDR_ERR_SUCCESS;
14724 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14726 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
14728 if (flags & NDR_SET_VALUES) {
14729 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14731 if (flags & NDR_IN) {
14732 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
14734 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14736 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14738 ndr_print_int32(ndr, "level", r->in.level);
14739 ndr_print_ptr(ndr, "req", r->in.req);
14741 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14742 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
14746 if (flags & NDR_OUT) {
14747 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
14749 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14751 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14753 ndr_print_ptr(ndr, "res", r->out.res);
14755 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14756 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
14758 ndr_print_WERROR(ndr, "result", r->out.result);
14764 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
14766 if (flags & NDR_IN) {
14767 if (r->in.bind_handle == NULL) {
14768 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14770 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14771 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14772 if (r->in.req == NULL) {
14773 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14775 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14776 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14778 if (flags & NDR_OUT) {
14779 if (r->out.level_out == NULL) {
14780 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14782 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14783 if (r->out.res == NULL) {
14784 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14786 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14787 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14788 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14790 return NDR_ERR_SUCCESS;
14793 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
14795 TALLOC_CTX *_mem_save_bind_handle_0;
14796 TALLOC_CTX *_mem_save_req_0;
14797 TALLOC_CTX *_mem_save_level_out_0;
14798 TALLOC_CTX *_mem_save_res_0;
14799 if (flags & NDR_IN) {
14800 ZERO_STRUCT(r->out);
14802 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14803 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14805 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14806 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14807 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14808 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14809 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14810 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14811 NDR_PULL_ALLOC(ndr, r->in.req);
14813 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14814 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14815 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14816 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14818 NDR_PULL_ALLOC(ndr, r->out.level_out);
14819 ZERO_STRUCTP(r->out.level_out);
14820 NDR_PULL_ALLOC(ndr, r->out.res);
14821 ZERO_STRUCTP(r->out.res);
14823 if (flags & NDR_OUT) {
14824 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14825 NDR_PULL_ALLOC(ndr, r->out.level_out);
14827 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14828 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14829 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14830 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14831 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14832 NDR_PULL_ALLOC(ndr, r->out.res);
14834 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14835 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14836 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14837 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14838 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14839 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14841 return NDR_ERR_SUCCESS;
14844 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
14846 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
14848 if (flags & NDR_SET_VALUES) {
14849 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14851 if (flags & NDR_IN) {
14852 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
14854 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14856 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14858 ndr_print_int32(ndr, "level", r->in.level);
14859 ndr_print_ptr(ndr, "req", r->in.req);
14861 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14862 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
14866 if (flags & NDR_OUT) {
14867 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
14869 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14871 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14873 ndr_print_ptr(ndr, "res", r->out.res);
14875 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14876 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
14878 ndr_print_WERROR(ndr, "result", r->out.result);
14884 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14886 if (flags & NDR_IN) {
14888 if (flags & NDR_OUT) {
14889 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14891 return NDR_ERR_SUCCESS;
14894 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14896 if (flags & NDR_IN) {
14898 if (flags & NDR_OUT) {
14899 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14901 return NDR_ERR_SUCCESS;
14904 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14906 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
14908 if (flags & NDR_SET_VALUES) {
14909 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14911 if (flags & NDR_IN) {
14912 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14916 if (flags & NDR_OUT) {
14917 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14919 ndr_print_WERROR(ndr, "result", r->out.result);
14925 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14927 if (flags & NDR_IN) {
14928 if (r->in.bind_handle == NULL) {
14929 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14931 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14932 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14933 if (r->in.req == NULL) {
14934 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14936 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14937 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14939 if (flags & NDR_OUT) {
14940 if (r->out.level_out == NULL) {
14941 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14943 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14944 if (r->out.ctr == NULL) {
14945 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14947 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14948 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14949 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14951 return NDR_ERR_SUCCESS;
14954 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
14956 TALLOC_CTX *_mem_save_bind_handle_0;
14957 TALLOC_CTX *_mem_save_req_0;
14958 TALLOC_CTX *_mem_save_level_out_0;
14959 TALLOC_CTX *_mem_save_ctr_0;
14960 if (flags & NDR_IN) {
14961 ZERO_STRUCT(r->out);
14963 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14964 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14966 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14967 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14968 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14969 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14970 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14971 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14972 NDR_PULL_ALLOC(ndr, r->in.req);
14974 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14975 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14976 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14977 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14978 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14979 NDR_PULL_ALLOC(ndr, r->out.level_out);
14980 ZERO_STRUCTP(r->out.level_out);
14981 NDR_PULL_ALLOC(ndr, r->out.ctr);
14982 ZERO_STRUCTP(r->out.ctr);
14984 if (flags & NDR_OUT) {
14985 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14986 NDR_PULL_ALLOC(ndr, r->out.level_out);
14988 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14989 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14990 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14991 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14992 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14993 NDR_PULL_ALLOC(ndr, r->out.ctr);
14995 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14996 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14997 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14998 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14999 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15000 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15002 return NDR_ERR_SUCCESS;
15005 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
15007 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
15009 if (flags & NDR_SET_VALUES) {
15010 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15012 if (flags & NDR_IN) {
15013 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
15015 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15017 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15019 ndr_print_int32(ndr, "level", r->in.level);
15020 ndr_print_ptr(ndr, "req", r->in.req);
15022 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15023 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
15027 if (flags & NDR_OUT) {
15028 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
15030 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15032 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15034 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15036 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15037 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
15039 ndr_print_WERROR(ndr, "result", r->out.result);
15045 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
15047 if (flags & NDR_IN) {
15048 if (r->in.bind_handle == NULL) {
15049 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15051 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15052 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15053 if (r->in.req == NULL) {
15054 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15056 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15057 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15059 if (flags & NDR_OUT) {
15060 if (r->out.level_out == NULL) {
15061 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15063 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15064 if (r->out.ctr == NULL) {
15065 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15067 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15068 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15069 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15071 return NDR_ERR_SUCCESS;
15074 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
15076 TALLOC_CTX *_mem_save_bind_handle_0;
15077 TALLOC_CTX *_mem_save_req_0;
15078 TALLOC_CTX *_mem_save_level_out_0;
15079 TALLOC_CTX *_mem_save_ctr_0;
15080 if (flags & NDR_IN) {
15081 ZERO_STRUCT(r->out);
15083 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15084 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15086 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15087 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15088 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15089 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15090 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15091 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15092 NDR_PULL_ALLOC(ndr, r->in.req);
15094 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15095 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15096 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15097 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15098 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15099 NDR_PULL_ALLOC(ndr, r->out.level_out);
15100 ZERO_STRUCTP(r->out.level_out);
15101 NDR_PULL_ALLOC(ndr, r->out.ctr);
15102 ZERO_STRUCTP(r->out.ctr);
15104 if (flags & NDR_OUT) {
15105 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15106 NDR_PULL_ALLOC(ndr, r->out.level_out);
15108 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15109 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15110 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15111 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15112 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15113 NDR_PULL_ALLOC(ndr, r->out.ctr);
15115 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15116 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15117 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15118 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15119 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15120 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15122 return NDR_ERR_SUCCESS;
15125 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
15127 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
15129 if (flags & NDR_SET_VALUES) {
15130 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15132 if (flags & NDR_IN) {
15133 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
15135 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15137 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15139 ndr_print_int32(ndr, "level", r->in.level);
15140 ndr_print_ptr(ndr, "req", r->in.req);
15142 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15143 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
15147 if (flags & NDR_OUT) {
15148 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
15150 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15152 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15154 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15156 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15157 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
15159 ndr_print_WERROR(ndr, "result", r->out.result);
15165 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
15167 if (flags & NDR_IN) {
15168 if (r->in.bind_handle == NULL) {
15169 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15171 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15173 if (r->in.req == NULL) {
15174 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15176 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15177 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15179 if (flags & NDR_OUT) {
15180 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15182 return NDR_ERR_SUCCESS;
15185 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
15187 TALLOC_CTX *_mem_save_bind_handle_0;
15188 TALLOC_CTX *_mem_save_req_0;
15189 if (flags & NDR_IN) {
15190 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15191 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15193 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15194 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15195 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15197 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15198 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15199 NDR_PULL_ALLOC(ndr, r->in.req);
15201 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15202 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15203 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15204 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15207 if (flags & NDR_OUT) {
15208 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15210 return NDR_ERR_SUCCESS;
15213 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
15215 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
15217 if (flags & NDR_SET_VALUES) {
15218 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15220 if (flags & NDR_IN) {
15221 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
15223 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15225 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15227 ndr_print_uint32(ndr, "level", r->in.level);
15228 ndr_print_ptr(ndr, "req", r->in.req);
15230 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15231 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
15235 if (flags & NDR_OUT) {
15236 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
15238 ndr_print_WERROR(ndr, "result", r->out.result);
15244 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15246 if (flags & NDR_IN) {
15247 if (r->in.bind_handle == NULL) {
15248 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15250 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15251 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
15252 if (r->in.req == NULL) {
15253 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15255 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15256 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15258 if (flags & NDR_OUT) {
15259 if (r->out.info_type == NULL) {
15260 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15262 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
15263 if (r->out.info == NULL) {
15264 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15266 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
15267 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15268 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15270 return NDR_ERR_SUCCESS;
15273 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
15275 TALLOC_CTX *_mem_save_bind_handle_0;
15276 TALLOC_CTX *_mem_save_req_0;
15277 TALLOC_CTX *_mem_save_info_type_0;
15278 TALLOC_CTX *_mem_save_info_0;
15279 if (flags & NDR_IN) {
15280 ZERO_STRUCT(r->out);
15282 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15283 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15285 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15286 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15287 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15288 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15289 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
15290 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15291 NDR_PULL_ALLOC(ndr, r->in.req);
15293 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15294 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15295 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15296 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15298 NDR_PULL_ALLOC(ndr, r->out.info_type);
15299 ZERO_STRUCTP(r->out.info_type);
15300 NDR_PULL_ALLOC(ndr, r->out.info);
15301 ZERO_STRUCTP(r->out.info);
15303 if (flags & NDR_OUT) {
15304 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15305 NDR_PULL_ALLOC(ndr, r->out.info_type);
15307 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
15308 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
15309 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
15310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
15311 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15312 NDR_PULL_ALLOC(ndr, r->out.info);
15314 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15315 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15316 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
15317 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15319 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15321 return NDR_ERR_SUCCESS;
15324 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15326 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
15328 if (flags & NDR_SET_VALUES) {
15329 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15331 if (flags & NDR_IN) {
15332 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
15334 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15336 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15338 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
15339 ndr_print_ptr(ndr, "req", r->in.req);
15341 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15342 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
15346 if (flags & NDR_OUT) {
15347 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
15349 ndr_print_ptr(ndr, "info_type", r->out.info_type);
15351 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
15353 ndr_print_ptr(ndr, "info", r->out.info);
15355 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
15356 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
15358 ndr_print_WERROR(ndr, "result", r->out.result);
15364 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15366 if (flags & NDR_IN) {
15368 if (flags & NDR_OUT) {
15369 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15371 return NDR_ERR_SUCCESS;
15374 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
15376 if (flags & NDR_IN) {
15378 if (flags & NDR_OUT) {
15379 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15381 return NDR_ERR_SUCCESS;
15384 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15386 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
15388 if (flags & NDR_SET_VALUES) {
15389 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15391 if (flags & NDR_IN) {
15392 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
15396 if (flags & NDR_OUT) {
15397 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
15399 ndr_print_WERROR(ndr, "result", r->out.result);
15405 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
15407 if (flags & NDR_IN) {
15408 if (r->in.bind_handle == NULL) {
15409 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15411 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15412 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15413 if (r->in.req == NULL) {
15414 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15416 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15417 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15419 if (flags & NDR_OUT) {
15420 if (r->out.level_out == NULL) {
15421 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15423 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15424 if (r->out.ctr == NULL) {
15425 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15427 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15428 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15429 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15431 return NDR_ERR_SUCCESS;
15434 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
15436 TALLOC_CTX *_mem_save_bind_handle_0;
15437 TALLOC_CTX *_mem_save_req_0;
15438 TALLOC_CTX *_mem_save_level_out_0;
15439 TALLOC_CTX *_mem_save_ctr_0;
15440 if (flags & NDR_IN) {
15441 ZERO_STRUCT(r->out);
15443 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15444 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15446 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15447 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15448 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15450 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15451 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15452 NDR_PULL_ALLOC(ndr, r->in.req);
15454 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15455 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15456 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15457 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15458 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15459 NDR_PULL_ALLOC(ndr, r->out.level_out);
15460 ZERO_STRUCTP(r->out.level_out);
15461 NDR_PULL_ALLOC(ndr, r->out.ctr);
15462 ZERO_STRUCTP(r->out.ctr);
15464 if (flags & NDR_OUT) {
15465 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15466 NDR_PULL_ALLOC(ndr, r->out.level_out);
15468 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15469 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15470 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15471 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15472 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15473 NDR_PULL_ALLOC(ndr, r->out.ctr);
15475 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15476 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15477 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15478 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15479 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15480 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15482 return NDR_ERR_SUCCESS;
15485 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
15487 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
15489 if (flags & NDR_SET_VALUES) {
15490 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15492 if (flags & NDR_IN) {
15493 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
15495 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15497 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15499 ndr_print_int32(ndr, "level", r->in.level);
15500 ndr_print_ptr(ndr, "req", r->in.req);
15502 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15503 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
15507 if (flags & NDR_OUT) {
15508 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
15510 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15512 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15514 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15516 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15517 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
15519 ndr_print_WERROR(ndr, "result", r->out.result);
15525 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15527 if (flags & NDR_IN) {
15529 if (flags & NDR_OUT) {
15530 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15532 return NDR_ERR_SUCCESS;
15535 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15537 if (flags & NDR_IN) {
15539 if (flags & NDR_OUT) {
15540 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15542 return NDR_ERR_SUCCESS;
15545 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15547 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15549 if (flags & NDR_SET_VALUES) {
15550 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15552 if (flags & NDR_IN) {
15553 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15557 if (flags & NDR_OUT) {
15558 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15560 ndr_print_WERROR(ndr, "result", r->out.result);
15566 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15568 if (flags & NDR_IN) {
15570 if (flags & NDR_OUT) {
15571 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15573 return NDR_ERR_SUCCESS;
15576 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15578 if (flags & NDR_IN) {
15580 if (flags & NDR_OUT) {
15581 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15583 return NDR_ERR_SUCCESS;
15586 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15588 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
15590 if (flags & NDR_SET_VALUES) {
15591 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15593 if (flags & NDR_IN) {
15594 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15598 if (flags & NDR_OUT) {
15599 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15601 ndr_print_WERROR(ndr, "result", r->out.result);
15607 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
15609 if (flags & NDR_IN) {
15610 if (r->in.bind_handle == NULL) {
15611 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15613 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15614 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15615 if (r->in.req == NULL) {
15616 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15618 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15619 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15621 if (flags & NDR_OUT) {
15622 if (r->out.level_out == NULL) {
15623 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15625 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15626 if (r->out.ctr == NULL) {
15627 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15629 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15630 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15631 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15633 return NDR_ERR_SUCCESS;
15636 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
15638 TALLOC_CTX *_mem_save_bind_handle_0;
15639 TALLOC_CTX *_mem_save_req_0;
15640 TALLOC_CTX *_mem_save_level_out_0;
15641 TALLOC_CTX *_mem_save_ctr_0;
15642 if (flags & NDR_IN) {
15643 ZERO_STRUCT(r->out);
15645 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15646 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15648 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15649 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15650 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15651 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15652 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15653 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15654 NDR_PULL_ALLOC(ndr, r->in.req);
15656 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15657 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15658 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15659 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15661 NDR_PULL_ALLOC(ndr, r->out.level_out);
15662 ZERO_STRUCTP(r->out.level_out);
15663 NDR_PULL_ALLOC(ndr, r->out.ctr);
15664 ZERO_STRUCTP(r->out.ctr);
15666 if (flags & NDR_OUT) {
15667 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15668 NDR_PULL_ALLOC(ndr, r->out.level_out);
15670 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15671 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15672 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15673 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15674 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15675 NDR_PULL_ALLOC(ndr, r->out.ctr);
15677 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15678 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15679 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15680 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15681 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15682 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15684 return NDR_ERR_SUCCESS;
15687 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
15689 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
15691 if (flags & NDR_SET_VALUES) {
15692 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15694 if (flags & NDR_IN) {
15695 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
15697 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15699 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15701 ndr_print_int32(ndr, "level", r->in.level);
15702 ndr_print_ptr(ndr, "req", r->in.req);
15704 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15705 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
15709 if (flags & NDR_OUT) {
15710 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
15712 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15714 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15716 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15718 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15719 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
15721 ndr_print_WERROR(ndr, "result", r->out.result);
15727 static const struct ndr_interface_call drsuapi_calls[] = {
15730 sizeof(struct drsuapi_DsBind),
15731 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
15732 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
15733 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
15737 "drsuapi_DsUnbind",
15738 sizeof(struct drsuapi_DsUnbind),
15739 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
15740 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
15741 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
15745 "drsuapi_DsReplicaSync",
15746 sizeof(struct drsuapi_DsReplicaSync),
15747 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
15748 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
15749 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
15753 "drsuapi_DsGetNCChanges",
15754 sizeof(struct drsuapi_DsGetNCChanges),
15755 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
15756 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
15757 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
15761 "drsuapi_DsReplicaUpdateRefs",
15762 sizeof(struct drsuapi_DsReplicaUpdateRefs),
15763 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
15764 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
15765 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
15769 "drsuapi_DsReplicaAdd",
15770 sizeof(struct drsuapi_DsReplicaAdd),
15771 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
15772 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
15773 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
15777 "drsuapi_DsReplicaDel",
15778 sizeof(struct drsuapi_DsReplicaDel),
15779 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
15780 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
15781 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
15785 "drsuapi_DsReplicaMod",
15786 sizeof(struct drsuapi_DsReplicaMod),
15787 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
15788 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
15789 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
15793 "DRSUAPI_VERIFY_NAMES",
15794 sizeof(struct DRSUAPI_VERIFY_NAMES),
15795 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
15796 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
15797 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
15801 "drsuapi_DsGetMemberships",
15802 sizeof(struct drsuapi_DsGetMemberships),
15803 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
15804 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
15805 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
15809 "DRSUAPI_INTER_DOMAIN_MOVE",
15810 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
15811 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
15812 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
15813 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
15817 "drsuapi_DsGetNT4ChangeLog",
15818 sizeof(struct drsuapi_DsGetNT4ChangeLog),
15819 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
15820 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
15821 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
15825 "drsuapi_DsCrackNames",
15826 sizeof(struct drsuapi_DsCrackNames),
15827 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
15828 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
15829 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
15833 "drsuapi_DsWriteAccountSpn",
15834 sizeof(struct drsuapi_DsWriteAccountSpn),
15835 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
15836 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
15837 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
15841 "drsuapi_DsRemoveDSServer",
15842 sizeof(struct drsuapi_DsRemoveDSServer),
15843 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
15844 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
15845 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
15849 "DRSUAPI_REMOVE_DS_DOMAIN",
15850 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
15851 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
15852 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
15853 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
15857 "drsuapi_DsGetDomainControllerInfo",
15858 sizeof(struct drsuapi_DsGetDomainControllerInfo),
15859 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
15860 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
15861 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
15865 "drsuapi_DsAddEntry",
15866 sizeof(struct drsuapi_DsAddEntry),
15867 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
15868 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
15869 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
15873 "drsuapi_DsExecuteKCC",
15874 sizeof(struct drsuapi_DsExecuteKCC),
15875 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
15876 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
15877 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
15881 "drsuapi_DsReplicaGetInfo",
15882 sizeof(struct drsuapi_DsReplicaGetInfo),
15883 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
15884 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
15885 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
15889 "DRSUAPI_ADD_SID_HISTORY",
15890 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
15891 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
15892 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
15893 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
15897 "drsuapi_DsGetMemberships2",
15898 sizeof(struct drsuapi_DsGetMemberships2),
15899 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
15900 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
15901 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
15905 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15906 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
15907 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15908 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15909 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15913 "DRSUAPI_GET_OBJECT_EXISTENCE",
15914 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
15915 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
15916 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
15917 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
15921 "drsuapi_QuerySitesByCost",
15922 sizeof(struct drsuapi_QuerySitesByCost),
15923 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
15924 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
15925 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
15928 { NULL, 0, NULL, NULL, NULL, false }
15931 static const char * const drsuapi_endpoint_strings[] = {
15932 "ncacn_np:[\\pipe\\lsass]",
15933 "ncacn_np:[\\pipe\\protected_storage]",
15938 static const struct ndr_interface_string_array drsuapi_endpoints = {
15940 .names = drsuapi_endpoint_strings
15943 static const char * const drsuapi_authservice_strings[] = {
15947 static const struct ndr_interface_string_array drsuapi_authservices = {
15949 .names = drsuapi_authservice_strings
15953 const struct ndr_interface_table ndr_table_drsuapi = {
15956 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15957 NDR_DRSUAPI_VERSION
15959 .helpstring = NDR_DRSUAPI_HELPSTRING,
15961 .calls = drsuapi_calls,
15962 .endpoints = &drsuapi_endpoints,
15963 .authservices = &drsuapi_authservices