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 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOID(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOID *r)
1172 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOID");
1174 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaOID_oid(r->oid, 0):r->__ndr_size);
1175 ndr_print_ptr(ndr, "oid", r->oid);
1178 ndr_print_string(ndr, "oid", r->oid);
1184 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
1186 if (ndr_flags & NDR_SCALARS) {
1187 NDR_CHECK(ndr_push_align(ndr, 5));
1188 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
1189 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1190 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1192 if (ndr_flags & NDR_BUFFERS) {
1193 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1195 return NDR_ERR_SUCCESS;
1198 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
1200 if (ndr_flags & NDR_SCALARS) {
1201 NDR_CHECK(ndr_pull_align(ndr, 5));
1202 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
1203 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1204 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1206 if (ndr_flags & NDR_BUFFERS) {
1207 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1209 return NDR_ERR_SUCCESS;
1212 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
1214 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
1216 ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1217 ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
1221 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1223 uint32_t cntr_mappings_1;
1224 if (ndr_flags & NDR_SCALARS) {
1225 NDR_CHECK(ndr_push_align(ndr, 5));
1226 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1227 NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
1228 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1230 if (ndr_flags & NDR_BUFFERS) {
1232 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_mappings));
1233 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1234 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1236 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1237 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1241 return NDR_ERR_SUCCESS;
1244 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1246 uint32_t _ptr_mappings;
1247 uint32_t cntr_mappings_1;
1248 TALLOC_CTX *_mem_save_mappings_0;
1249 TALLOC_CTX *_mem_save_mappings_1;
1250 if (ndr_flags & NDR_SCALARS) {
1251 NDR_CHECK(ndr_pull_align(ndr, 5));
1252 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
1253 if (r->num_mappings > 0x100000) {
1254 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1256 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
1257 if (_ptr_mappings) {
1258 NDR_PULL_ALLOC(ndr, r->mappings);
1262 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1264 if (ndr_flags & NDR_BUFFERS) {
1266 _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1267 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1268 NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
1269 NDR_PULL_ALLOC_N(ndr, r->mappings, ndr_get_array_size(ndr, &r->mappings));
1270 _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1271 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1272 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1273 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1275 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1276 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1278 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
1279 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
1282 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
1285 return NDR_ERR_SUCCESS;
1288 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1290 uint32_t cntr_mappings_1;
1291 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
1293 ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1294 ndr_print_ptr(ndr, "mappings", r->mappings);
1297 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1299 for (cntr_mappings_1=0;cntr_mappings_1<r->num_mappings;cntr_mappings_1++) {
1301 if (asprintf(&idx_1, "[%d]", cntr_mappings_1) != -1) {
1302 ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
1312 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
1315 uint32_t _flags_save_ENUM = ndr->flags;
1316 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1317 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1318 ndr->flags = _flags_save_ENUM;
1320 return NDR_ERR_SUCCESS;
1323 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
1327 uint32_t _flags_save_ENUM = ndr->flags;
1328 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1329 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1331 ndr->flags = _flags_save_ENUM;
1333 return NDR_ERR_SUCCESS;
1336 _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
1338 const char *val = NULL;
1341 uint32_t _flags_save_ENUM = ndr->flags;
1342 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1344 case DRSUAPI_ATTRIBUTE_objectClass: val = "DRSUAPI_ATTRIBUTE_objectClass"; break;
1345 case DRSUAPI_ATTRIBUTE_description: val = "DRSUAPI_ATTRIBUTE_description"; break;
1346 case DRSUAPI_ATTRIBUTE_member: val = "DRSUAPI_ATTRIBUTE_member"; break;
1347 case DRSUAPI_ATTRIBUTE_instanceType: val = "DRSUAPI_ATTRIBUTE_instanceType"; break;
1348 case DRSUAPI_ATTRIBUTE_whenCreated: val = "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1349 case DRSUAPI_ATTRIBUTE_possSuperiors: val = "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1350 case DRSUAPI_ATTRIBUTE_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1351 case DRSUAPI_ATTRIBUTE_subClassOf: val = "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1352 case DRSUAPI_ATTRIBUTE_governsID: val = "DRSUAPI_ATTRIBUTE_governsID"; break;
1353 case DRSUAPI_ATTRIBUTE_mustContain: val = "DRSUAPI_ATTRIBUTE_mustContain"; break;
1354 case DRSUAPI_ATTRIBUTE_mayContain: val = "DRSUAPI_ATTRIBUTE_mayContain"; break;
1355 case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1356 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1357 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1358 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1359 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1360 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1361 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1362 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1363 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1364 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1365 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1366 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1367 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1368 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1369 case DRSUAPI_ATTRIBUTE_auxiliaryClass: val = "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1370 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1371 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1372 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1373 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1374 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1375 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1376 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1377 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1378 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1379 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1380 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1381 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1382 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1383 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1384 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1385 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1386 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1387 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1388 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1389 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1390 case DRSUAPI_ATTRIBUTE_systemPossSuperiors: val = "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1391 case DRSUAPI_ATTRIBUTE_systemMayContain: val = "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1392 case DRSUAPI_ATTRIBUTE_systemMustContain: val = "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1393 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1394 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1395 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1396 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1397 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1398 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1399 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1400 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1401 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1402 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1403 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1404 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1405 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1406 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1407 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1408 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1409 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1410 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1411 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1412 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1414 ndr_print_enum(ndr, name, "ENUM", val, r);
1415 ndr->flags = _flags_save_ENUM;
1419 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1421 uint32_t cntr_attids_0;
1422 if (ndr_flags & NDR_SCALARS) {
1423 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
1424 NDR_CHECK(ndr_push_align(ndr, 4));
1425 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1426 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1428 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1429 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1431 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1433 if (ndr_flags & NDR_BUFFERS) {
1435 return NDR_ERR_SUCCESS;
1438 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1440 uint32_t cntr_attids_0;
1441 TALLOC_CTX *_mem_save_attids_0;
1442 if (ndr_flags & NDR_SCALARS) {
1443 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1444 NDR_CHECK(ndr_pull_align(ndr, 4));
1445 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1446 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1447 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1448 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1449 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1451 NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids));
1452 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1453 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1454 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1455 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1457 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1459 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1461 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1463 if (ndr_flags & NDR_BUFFERS) {
1465 return NDR_ERR_SUCCESS;
1468 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1470 uint32_t cntr_attids_0;
1471 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1473 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1474 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1475 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1476 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1478 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1480 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1481 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1489 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1491 if (ndr_flags & NDR_SCALARS) {
1492 NDR_CHECK(ndr_push_align(ndr, 8));
1493 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1494 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1495 if (r->naming_context == NULL) {
1496 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1498 NDR_CHECK(ndr_push_ref_ptr(ndr));
1499 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1500 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1501 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1502 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1503 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1504 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1505 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1506 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1507 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1508 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1509 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1511 if (ndr_flags & NDR_BUFFERS) {
1512 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1513 if (r->uptodateness_vector) {
1514 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1516 if (r->partial_attribute_set) {
1517 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1519 if (r->partial_attribute_set_ex) {
1520 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1522 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1524 return NDR_ERR_SUCCESS;
1527 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1529 uint32_t _ptr_naming_context;
1530 TALLOC_CTX *_mem_save_naming_context_0;
1531 uint32_t _ptr_uptodateness_vector;
1532 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1533 uint32_t _ptr_partial_attribute_set;
1534 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1535 uint32_t _ptr_partial_attribute_set_ex;
1536 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1537 if (ndr_flags & NDR_SCALARS) {
1538 NDR_CHECK(ndr_pull_align(ndr, 8));
1539 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1540 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1541 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1542 if (_ptr_naming_context) {
1543 NDR_PULL_ALLOC(ndr, r->naming_context);
1545 r->naming_context = NULL;
1547 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1548 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1549 if (_ptr_uptodateness_vector) {
1550 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1552 r->uptodateness_vector = NULL;
1554 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1555 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1556 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1557 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1558 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1559 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1560 if (_ptr_partial_attribute_set) {
1561 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1563 r->partial_attribute_set = NULL;
1565 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1566 if (_ptr_partial_attribute_set_ex) {
1567 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1569 r->partial_attribute_set_ex = NULL;
1571 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1572 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1574 if (ndr_flags & NDR_BUFFERS) {
1575 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1576 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1577 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1578 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1579 if (r->uptodateness_vector) {
1580 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1581 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1582 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1583 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1585 if (r->partial_attribute_set) {
1586 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1587 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1588 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1589 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1591 if (r->partial_attribute_set_ex) {
1592 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1593 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1594 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1595 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1597 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1599 return NDR_ERR_SUCCESS;
1602 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1604 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1606 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1607 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1608 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1610 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1612 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1613 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1615 if (r->uptodateness_vector) {
1616 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1619 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1620 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1621 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1622 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1623 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1624 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1626 if (r->partial_attribute_set) {
1627 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1630 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1632 if (r->partial_attribute_set_ex) {
1633 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1636 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1640 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
1642 if (ndr_flags & NDR_SCALARS) {
1643 NDR_CHECK(ndr_push_align(ndr, 8));
1644 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1645 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1646 if (r->naming_context == NULL) {
1647 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1649 NDR_CHECK(ndr_push_ref_ptr(ndr));
1650 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1651 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1652 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1653 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1654 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1655 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1656 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1657 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1658 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1659 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1660 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_flags));
1661 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1663 if (ndr_flags & NDR_BUFFERS) {
1664 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1665 if (r->uptodateness_vector) {
1666 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1668 if (r->partial_attribute_set) {
1669 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1671 if (r->partial_attribute_set_ex) {
1672 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1674 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1676 return NDR_ERR_SUCCESS;
1679 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
1681 uint32_t _ptr_naming_context;
1682 TALLOC_CTX *_mem_save_naming_context_0;
1683 uint32_t _ptr_uptodateness_vector;
1684 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1685 uint32_t _ptr_partial_attribute_set;
1686 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1687 uint32_t _ptr_partial_attribute_set_ex;
1688 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1689 if (ndr_flags & NDR_SCALARS) {
1690 NDR_CHECK(ndr_pull_align(ndr, 8));
1691 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1692 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1693 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1694 if (_ptr_naming_context) {
1695 NDR_PULL_ALLOC(ndr, r->naming_context);
1697 r->naming_context = NULL;
1699 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1700 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1701 if (_ptr_uptodateness_vector) {
1702 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1704 r->uptodateness_vector = NULL;
1706 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1707 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1708 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1709 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1710 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1711 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1712 if (_ptr_partial_attribute_set) {
1713 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1715 r->partial_attribute_set = NULL;
1717 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1718 if (_ptr_partial_attribute_set_ex) {
1719 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1721 r->partial_attribute_set_ex = NULL;
1723 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1724 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_flags));
1725 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1727 if (ndr_flags & NDR_BUFFERS) {
1728 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1729 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1730 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1731 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1732 if (r->uptodateness_vector) {
1733 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1734 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1735 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1736 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1738 if (r->partial_attribute_set) {
1739 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1740 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1741 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1742 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1744 if (r->partial_attribute_set_ex) {
1745 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1746 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1747 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1748 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1750 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1752 return NDR_ERR_SUCCESS;
1755 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
1757 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
1759 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1760 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1761 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1763 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1765 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1766 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1768 if (r->uptodateness_vector) {
1769 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1772 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1773 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1774 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1775 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1776 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1777 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1779 if (r->partial_attribute_set) {
1780 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1783 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1785 if (r->partial_attribute_set_ex) {
1786 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1789 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1790 ndr_print_uint32(ndr, "more_flags", r->more_flags);
1794 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1796 if (ndr_flags & NDR_SCALARS) {
1797 int level = ndr_push_get_switch_value(ndr, r);
1798 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
1799 NDR_CHECK(ndr_push_union_align(ndr, 8));
1802 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1806 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1810 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1814 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1817 if (ndr_flags & NDR_BUFFERS) {
1818 int level = ndr_push_get_switch_value(ndr, r);
1821 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1825 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1829 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1833 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1836 return NDR_ERR_SUCCESS;
1839 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1843 level = ndr_pull_get_switch_value(ndr, r);
1844 if (ndr_flags & NDR_SCALARS) {
1845 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
1846 if (_level != level) {
1847 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1849 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1852 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1856 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1860 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1864 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1867 if (ndr_flags & NDR_BUFFERS) {
1870 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1874 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1878 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1882 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1885 return NDR_ERR_SUCCESS;
1888 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1891 level = ndr_print_get_switch_value(ndr, r);
1892 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1895 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1899 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1903 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
1907 ndr_print_bad_level(ndr, name, level);
1911 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1913 if (ndr_flags & NDR_SCALARS) {
1914 NDR_CHECK(ndr_push_align(ndr, 8));
1915 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1916 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1917 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1918 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1920 if (ndr_flags & NDR_BUFFERS) {
1922 return NDR_ERR_SUCCESS;
1925 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1927 if (ndr_flags & NDR_SCALARS) {
1928 NDR_CHECK(ndr_pull_align(ndr, 8));
1929 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1930 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1931 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1932 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1934 if (ndr_flags & NDR_BUFFERS) {
1936 return NDR_ERR_SUCCESS;
1939 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
1941 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
1943 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1944 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
1945 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
1949 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1951 uint32_t cntr_cursors_0;
1952 if (ndr_flags & NDR_SCALARS) {
1953 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1954 NDR_CHECK(ndr_push_align(ndr, 8));
1955 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
1956 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1957 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1958 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1959 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1960 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1962 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1964 if (ndr_flags & NDR_BUFFERS) {
1966 return NDR_ERR_SUCCESS;
1969 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
1971 uint32_t cntr_cursors_0;
1972 TALLOC_CTX *_mem_save_cursors_0;
1973 if (ndr_flags & NDR_SCALARS) {
1974 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
1975 NDR_CHECK(ndr_pull_align(ndr, 8));
1976 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1977 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1978 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1979 if (r->count > 0x100000) {
1980 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1982 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
1983 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
1984 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
1985 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
1986 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1987 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1989 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
1991 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
1993 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1995 if (ndr_flags & NDR_BUFFERS) {
1997 return NDR_ERR_SUCCESS;
2000 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
2002 uint32_t cntr_cursors_0;
2003 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
2005 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
2006 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2007 ndr_print_uint32(ndr, "count", r->count);
2008 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2009 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
2011 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
2013 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
2014 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
2022 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
2024 if (ndr_flags & NDR_SCALARS) {
2025 NDR_CHECK(ndr_push_align(ndr, 5));
2026 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
2027 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
2028 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2030 if (ndr_flags & NDR_BUFFERS) {
2032 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
2035 return NDR_ERR_SUCCESS;
2038 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
2041 TALLOC_CTX *_mem_save_blob_0;
2042 if (ndr_flags & NDR_SCALARS) {
2043 NDR_CHECK(ndr_pull_align(ndr, 5));
2044 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2045 if (r->__ndr_size > 10485760) {
2046 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2048 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
2050 NDR_PULL_ALLOC(ndr, r->blob);
2054 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2056 if (ndr_flags & NDR_BUFFERS) {
2058 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
2059 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
2060 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
2061 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
2064 return NDR_ERR_SUCCESS;
2067 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
2069 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
2071 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
2072 ndr_print_ptr(ndr, "blob", r->blob);
2075 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
2081 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
2083 uint32_t cntr_values_1;
2084 if (ndr_flags & NDR_SCALARS) {
2085 NDR_CHECK(ndr_push_align(ndr, 5));
2086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
2087 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
2088 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2090 if (ndr_flags & NDR_BUFFERS) {
2092 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
2093 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2094 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2096 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2097 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2101 return NDR_ERR_SUCCESS;
2104 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
2106 uint32_t _ptr_values;
2107 uint32_t cntr_values_1;
2108 TALLOC_CTX *_mem_save_values_0;
2109 TALLOC_CTX *_mem_save_values_1;
2110 if (ndr_flags & NDR_SCALARS) {
2111 NDR_CHECK(ndr_pull_align(ndr, 5));
2112 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
2113 if (r->num_values > 10485760) {
2114 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2116 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
2118 NDR_PULL_ALLOC(ndr, r->values);
2122 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2124 if (ndr_flags & NDR_BUFFERS) {
2126 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2127 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2128 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
2129 NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values));
2130 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
2131 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2132 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2133 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2135 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2136 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
2139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
2142 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
2145 return NDR_ERR_SUCCESS;
2148 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
2150 uint32_t cntr_values_1;
2151 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
2153 ndr_print_uint32(ndr, "num_values", r->num_values);
2154 ndr_print_ptr(ndr, "values", r->values);
2157 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
2159 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
2161 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
2162 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
2172 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2174 if (ndr_flags & NDR_SCALARS) {
2175 NDR_CHECK(ndr_push_align(ndr, 4));
2176 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2178 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2179 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2180 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2181 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2182 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2184 if (ndr_flags & NDR_BUFFERS) {
2185 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2187 return NDR_ERR_SUCCESS;
2190 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
2192 if (ndr_flags & NDR_SCALARS) {
2193 NDR_CHECK(ndr_pull_align(ndr, 4));
2194 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2195 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2196 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2197 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2198 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2199 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2200 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2202 if (ndr_flags & NDR_BUFFERS) {
2203 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2205 return NDR_ERR_SUCCESS;
2208 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2210 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
2212 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);
2213 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);
2214 ndr_print_GUID(ndr, "guid", &r->guid);
2215 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2216 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2217 ndr_print_string(ndr, "dn", r->dn);
2221 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags)
2223 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic);
2226 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2228 if (ndr_flags & NDR_SCALARS) {
2229 NDR_CHECK(ndr_push_align(ndr, 4));
2230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2232 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2233 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2235 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2236 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
2238 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2239 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2240 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
2241 ndr->flags = _flags_save_DATA_BLOB;
2243 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2245 if (ndr_flags & NDR_BUFFERS) {
2246 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2248 return NDR_ERR_SUCCESS;
2251 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2253 if (ndr_flags & NDR_SCALARS) {
2254 NDR_CHECK(ndr_pull_align(ndr, 4));
2255 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2256 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2257 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2258 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2259 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2260 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2261 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
2263 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2264 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2265 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
2266 ndr->flags = _flags_save_DATA_BLOB;
2268 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2270 if (ndr_flags & NDR_BUFFERS) {
2271 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2273 return NDR_ERR_SUCCESS;
2276 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2278 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2280 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);
2281 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);
2282 ndr_print_GUID(ndr, "guid", &r->guid);
2283 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2284 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2285 ndr_print_string(ndr, "dn", r->dn);
2286 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2287 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2291 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(const struct drsuapi_DsReplicaObjectIdentifier3Binary *r, struct smb_iconv_convenience *ic, int flags)
2293 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary, ic);
2296 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2298 if (ndr_flags & NDR_SCALARS) {
2299 NDR_CHECK(ndr_push_align(ndr, 5));
2300 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2301 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2302 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2304 if (ndr_flags & NDR_BUFFERS) {
2305 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2307 return NDR_ERR_SUCCESS;
2310 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2312 if (ndr_flags & NDR_SCALARS) {
2313 NDR_CHECK(ndr_pull_align(ndr, 5));
2314 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2315 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2316 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2318 if (ndr_flags & NDR_BUFFERS) {
2319 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2321 return NDR_ERR_SUCCESS;
2324 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2326 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2328 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2329 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2333 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2335 uint32_t cntr_attributes_1;
2336 if (ndr_flags & NDR_SCALARS) {
2337 NDR_CHECK(ndr_push_align(ndr, 5));
2338 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2339 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2340 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2342 if (ndr_flags & NDR_BUFFERS) {
2343 if (r->attributes) {
2344 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
2345 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2346 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2348 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2349 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2353 return NDR_ERR_SUCCESS;
2356 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2358 uint32_t _ptr_attributes;
2359 uint32_t cntr_attributes_1;
2360 TALLOC_CTX *_mem_save_attributes_0;
2361 TALLOC_CTX *_mem_save_attributes_1;
2362 if (ndr_flags & NDR_SCALARS) {
2363 NDR_CHECK(ndr_pull_align(ndr, 5));
2364 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2365 if (r->num_attributes > 1048576) {
2366 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2368 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2369 if (_ptr_attributes) {
2370 NDR_PULL_ALLOC(ndr, r->attributes);
2372 r->attributes = NULL;
2374 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2376 if (ndr_flags & NDR_BUFFERS) {
2377 if (r->attributes) {
2378 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2379 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2380 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2381 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes));
2382 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2383 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2384 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2385 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2387 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2388 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2390 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2391 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2393 if (r->attributes) {
2394 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2397 return NDR_ERR_SUCCESS;
2400 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2402 uint32_t cntr_attributes_1;
2403 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2405 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2406 ndr_print_ptr(ndr, "attributes", r->attributes);
2408 if (r->attributes) {
2409 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2411 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2413 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2414 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2424 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2426 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2427 return NDR_ERR_SUCCESS;
2430 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2433 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2435 return NDR_ERR_SUCCESS;
2438 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2440 ndr_print_uint32(ndr, name, r);
2442 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2443 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2444 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2448 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2450 if (ndr_flags & NDR_SCALARS) {
2451 NDR_CHECK(ndr_push_align(ndr, 5));
2452 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2453 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2454 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2455 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2457 if (ndr_flags & NDR_BUFFERS) {
2458 if (r->identifier) {
2459 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2461 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2463 return NDR_ERR_SUCCESS;
2466 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2468 uint32_t _ptr_identifier;
2469 TALLOC_CTX *_mem_save_identifier_0;
2470 if (ndr_flags & NDR_SCALARS) {
2471 NDR_CHECK(ndr_pull_align(ndr, 5));
2472 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2473 if (_ptr_identifier) {
2474 NDR_PULL_ALLOC(ndr, r->identifier);
2476 r->identifier = NULL;
2478 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2479 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2480 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2482 if (ndr_flags & NDR_BUFFERS) {
2483 if (r->identifier) {
2484 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2485 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2486 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2487 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2489 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2491 return NDR_ERR_SUCCESS;
2494 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2496 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2498 ndr_print_ptr(ndr, "identifier", r->identifier);
2500 if (r->identifier) {
2501 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2504 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2505 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2509 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2511 if (ndr_flags & NDR_SCALARS) {
2512 NDR_CHECK(ndr_push_align(ndr, 8));
2513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2514 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2515 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2516 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2517 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2519 if (ndr_flags & NDR_BUFFERS) {
2521 return NDR_ERR_SUCCESS;
2524 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2526 if (ndr_flags & NDR_SCALARS) {
2527 NDR_CHECK(ndr_pull_align(ndr, 8));
2528 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2529 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2530 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2531 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2532 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2534 if (ndr_flags & NDR_BUFFERS) {
2536 return NDR_ERR_SUCCESS;
2539 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2541 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2543 ndr_print_uint32(ndr, "version", r->version);
2544 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2545 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2546 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2550 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2552 uint32_t cntr_meta_data_0;
2553 if (ndr_flags & NDR_SCALARS) {
2554 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2555 NDR_CHECK(ndr_push_align(ndr, 8));
2556 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2557 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2558 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2560 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2562 if (ndr_flags & NDR_BUFFERS) {
2564 return NDR_ERR_SUCCESS;
2567 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2569 uint32_t cntr_meta_data_0;
2570 TALLOC_CTX *_mem_save_meta_data_0;
2571 if (ndr_flags & NDR_SCALARS) {
2572 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2573 NDR_CHECK(ndr_pull_align(ndr, 8));
2574 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2575 if (r->count > 1048576) {
2576 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2578 NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data));
2579 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2580 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2581 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2582 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2584 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2586 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2588 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2590 if (ndr_flags & NDR_BUFFERS) {
2592 return NDR_ERR_SUCCESS;
2595 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2597 uint32_t cntr_meta_data_0;
2598 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2600 ndr_print_uint32(ndr, "count", r->count);
2601 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2603 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2605 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2606 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2614 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2616 if (ndr_flags & NDR_SCALARS) {
2617 NDR_CHECK(ndr_push_align(ndr, 5));
2618 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2619 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2620 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2621 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2622 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2623 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2625 if (ndr_flags & NDR_BUFFERS) {
2626 if (r->next_object) {
2627 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2629 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2630 if (r->parent_object_guid) {
2631 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2633 if (r->meta_data_ctr) {
2634 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2637 return NDR_ERR_SUCCESS;
2640 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2642 uint32_t _ptr_next_object;
2643 TALLOC_CTX *_mem_save_next_object_0;
2644 uint32_t _ptr_parent_object_guid;
2645 TALLOC_CTX *_mem_save_parent_object_guid_0;
2646 uint32_t _ptr_meta_data_ctr;
2647 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2648 if (ndr_flags & NDR_SCALARS) {
2649 NDR_CHECK(ndr_pull_align(ndr, 5));
2650 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2651 if (_ptr_next_object) {
2652 NDR_PULL_ALLOC(ndr, r->next_object);
2654 r->next_object = NULL;
2656 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2657 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2658 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2659 if (_ptr_parent_object_guid) {
2660 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2662 r->parent_object_guid = NULL;
2664 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2665 if (_ptr_meta_data_ctr) {
2666 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2668 r->meta_data_ctr = NULL;
2670 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2672 if (ndr_flags & NDR_BUFFERS) {
2673 if (r->next_object) {
2674 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2675 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2676 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2677 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2679 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2680 if (r->parent_object_guid) {
2681 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2682 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2683 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2686 if (r->meta_data_ctr) {
2687 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2688 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2689 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2693 return NDR_ERR_SUCCESS;
2696 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2698 if (ndr_flags & NDR_SCALARS) {
2699 NDR_CHECK(ndr_push_align(ndr, 8));
2700 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2701 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2702 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2703 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2704 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2705 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2706 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2707 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2708 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2709 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55));
2710 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2711 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2712 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2714 if (ndr_flags & NDR_BUFFERS) {
2715 if (r->naming_context) {
2716 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2718 if (r->uptodateness_vector) {
2719 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2721 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2722 if (r->first_object) {
2723 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2726 return NDR_ERR_SUCCESS;
2729 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2731 uint32_t _ptr_naming_context;
2732 TALLOC_CTX *_mem_save_naming_context_0;
2733 uint32_t _ptr_uptodateness_vector;
2734 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2735 uint32_t _ptr_first_object;
2736 TALLOC_CTX *_mem_save_first_object_0;
2737 if (ndr_flags & NDR_SCALARS) {
2738 NDR_CHECK(ndr_pull_align(ndr, 8));
2739 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2740 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2741 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2742 if (_ptr_naming_context) {
2743 NDR_PULL_ALLOC(ndr, r->naming_context);
2745 r->naming_context = NULL;
2747 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2748 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2749 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2750 if (_ptr_uptodateness_vector) {
2751 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2753 r->uptodateness_vector = NULL;
2755 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2756 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2757 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2758 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2759 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2760 if (_ptr_first_object) {
2761 NDR_PULL_ALLOC(ndr, r->first_object);
2763 r->first_object = NULL;
2765 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2766 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2768 if (ndr_flags & NDR_BUFFERS) {
2769 if (r->naming_context) {
2770 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2771 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2772 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2773 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2775 if (r->uptodateness_vector) {
2776 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2777 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2778 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2781 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2782 if (r->first_object) {
2783 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2784 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2785 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2786 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2789 return NDR_ERR_SUCCESS;
2792 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2794 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2796 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2797 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2798 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2800 if (r->naming_context) {
2801 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2804 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2805 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2806 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2808 if (r->uptodateness_vector) {
2809 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2812 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2813 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2814 ndr_print_uint32(ndr, "object_count", r->object_count);
2815 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);
2816 ndr_print_ptr(ndr, "first_object", r->first_object);
2818 if (r->first_object) {
2819 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2822 ndr_print_uint32(ndr, "more_data", r->more_data);
2826 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags)
2828 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic);
2831 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2833 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2834 return NDR_ERR_SUCCESS;
2837 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2840 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2842 return NDR_ERR_SUCCESS;
2845 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2847 ndr_print_uint32(ndr, name, r);
2849 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2853 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2855 if (ndr_flags & NDR_SCALARS) {
2856 NDR_CHECK(ndr_push_align(ndr, 8));
2857 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2858 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2859 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2860 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2861 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2862 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2863 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2865 if (ndr_flags & NDR_BUFFERS) {
2866 if (r->identifier) {
2867 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2869 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2871 return NDR_ERR_SUCCESS;
2874 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2876 uint32_t _ptr_identifier;
2877 TALLOC_CTX *_mem_save_identifier_0;
2878 if (ndr_flags & NDR_SCALARS) {
2879 NDR_CHECK(ndr_pull_align(ndr, 8));
2880 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2881 if (_ptr_identifier) {
2882 NDR_PULL_ALLOC(ndr, r->identifier);
2884 r->identifier = NULL;
2886 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2887 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2888 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2889 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2890 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2891 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2893 if (ndr_flags & NDR_BUFFERS) {
2894 if (r->identifier) {
2895 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2896 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2897 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2900 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2902 return NDR_ERR_SUCCESS;
2905 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2907 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2909 ndr_print_ptr(ndr, "identifier", r->identifier);
2911 if (r->identifier) {
2912 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2915 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2916 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2917 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2918 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2919 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2923 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2925 uint32_t cntr_linked_attributes_1;
2926 if (ndr_flags & NDR_SCALARS) {
2927 NDR_CHECK(ndr_push_align(ndr, 8));
2928 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2929 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2930 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2931 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2932 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2933 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2934 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2935 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2937 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55));
2938 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2939 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2940 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2941 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2943 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2944 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2945 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2947 if (ndr_flags & NDR_BUFFERS) {
2948 if (r->naming_context) {
2949 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2951 if (r->uptodateness_vector) {
2952 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2954 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2955 if (r->first_object) {
2956 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2958 if (r->linked_attributes) {
2959 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
2960 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2961 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2963 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2964 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
2968 return NDR_ERR_SUCCESS;
2971 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
2973 uint32_t _ptr_naming_context;
2974 TALLOC_CTX *_mem_save_naming_context_0;
2975 uint32_t _ptr_uptodateness_vector;
2976 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2977 uint32_t _ptr_first_object;
2978 TALLOC_CTX *_mem_save_first_object_0;
2979 uint32_t _ptr_linked_attributes;
2980 uint32_t cntr_linked_attributes_1;
2981 TALLOC_CTX *_mem_save_linked_attributes_0;
2982 TALLOC_CTX *_mem_save_linked_attributes_1;
2983 if (ndr_flags & NDR_SCALARS) {
2984 NDR_CHECK(ndr_pull_align(ndr, 8));
2985 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2986 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2987 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2988 if (_ptr_naming_context) {
2989 NDR_PULL_ALLOC(ndr, r->naming_context);
2991 r->naming_context = NULL;
2993 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2994 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2995 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2996 if (_ptr_uptodateness_vector) {
2997 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2999 r->uptodateness_vector = NULL;
3001 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
3002 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
3003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
3004 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
3005 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
3006 if (_ptr_first_object) {
3007 NDR_PULL_ALLOC(ndr, r->first_object);
3009 r->first_object = NULL;
3011 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
3012 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
3013 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
3014 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
3015 if (r->linked_attributes_count > 1048576) {
3016 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3018 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
3019 if (_ptr_linked_attributes) {
3020 NDR_PULL_ALLOC(ndr, r->linked_attributes);
3022 r->linked_attributes = NULL;
3024 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
3025 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3027 if (ndr_flags & NDR_BUFFERS) {
3028 if (r->naming_context) {
3029 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3030 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3031 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3032 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3034 if (r->uptodateness_vector) {
3035 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
3036 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
3037 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
3038 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
3040 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3041 if (r->first_object) {
3042 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
3043 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
3044 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3045 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
3047 if (r->linked_attributes) {
3048 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
3049 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3050 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
3051 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes));
3052 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
3053 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3054 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3055 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3057 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3058 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3060 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
3061 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
3063 if (r->linked_attributes) {
3064 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
3067 return NDR_ERR_SUCCESS;
3070 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
3072 uint32_t cntr_linked_attributes_1;
3073 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
3075 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3076 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3077 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3079 if (r->naming_context) {
3080 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3083 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3084 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3085 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3087 if (r->uptodateness_vector) {
3088 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3091 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3092 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3093 ndr_print_uint32(ndr, "object_count", r->object_count);
3094 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);
3095 ndr_print_ptr(ndr, "first_object", r->first_object);
3097 if (r->first_object) {
3098 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3101 ndr_print_uint32(ndr, "more_data", r->more_data);
3102 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
3103 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
3104 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
3105 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
3107 if (r->linked_attributes) {
3108 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
3110 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
3112 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
3113 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
3120 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
3124 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags)
3126 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic);
3129 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3131 if (ndr_flags & NDR_SCALARS) {
3132 NDR_CHECK(ndr_push_align(ndr, 1));
3134 struct ndr_push *_ndr_ctr1;
3135 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3136 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3137 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3139 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3141 if (ndr_flags & NDR_BUFFERS) {
3143 return NDR_ERR_SUCCESS;
3146 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
3148 if (ndr_flags & NDR_SCALARS) {
3149 NDR_CHECK(ndr_pull_align(ndr, 1));
3151 struct ndr_pull *_ndr_ctr1;
3152 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3153 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3154 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3156 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3158 if (ndr_flags & NDR_BUFFERS) {
3160 return NDR_ERR_SUCCESS;
3163 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3165 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
3167 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3171 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3173 if (ndr_flags & NDR_SCALARS) {
3174 NDR_CHECK(ndr_push_align(ndr, 1));
3176 struct ndr_push *_ndr_ctr6;
3177 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3178 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3179 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3181 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3183 if (ndr_flags & NDR_BUFFERS) {
3185 return NDR_ERR_SUCCESS;
3188 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
3190 if (ndr_flags & NDR_SCALARS) {
3191 NDR_CHECK(ndr_pull_align(ndr, 1));
3193 struct ndr_pull *_ndr_ctr6;
3194 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3195 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3196 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3198 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3200 if (ndr_flags & NDR_BUFFERS) {
3202 return NDR_ERR_SUCCESS;
3205 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3207 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
3209 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3213 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3216 TALLOC_CTX *_mem_save_ts_0;
3217 if (ndr_flags & NDR_SCALARS) {
3218 NDR_CHECK(ndr_pull_align(ndr, 5));
3219 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3220 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3221 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3223 NDR_PULL_ALLOC(ndr, r->ts);
3227 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3229 if (ndr_flags & NDR_BUFFERS) {
3231 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3232 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3234 struct ndr_pull *_ndr_ts;
3235 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3237 struct ndr_pull *_ndr_ts_compressed;
3238 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3239 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3240 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3242 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3244 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3247 return NDR_ERR_SUCCESS;
3250 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3252 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
3254 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3255 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3256 ndr_print_ptr(ndr, "ts", r->ts);
3259 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3265 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3268 TALLOC_CTX *_mem_save_ts_0;
3269 if (ndr_flags & NDR_SCALARS) {
3270 NDR_CHECK(ndr_pull_align(ndr, 5));
3271 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3272 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3273 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3275 NDR_PULL_ALLOC(ndr, r->ts);
3279 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3281 if (ndr_flags & NDR_BUFFERS) {
3283 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3284 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3286 struct ndr_pull *_ndr_ts;
3287 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3289 struct ndr_pull *_ndr_ts_compressed;
3290 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3291 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3292 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3294 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3299 return NDR_ERR_SUCCESS;
3302 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3304 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3306 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3307 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3308 ndr_print_ptr(ndr, "ts", r->ts);
3311 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3317 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3320 TALLOC_CTX *_mem_save_ts_0;
3321 if (ndr_flags & NDR_SCALARS) {
3322 NDR_CHECK(ndr_pull_align(ndr, 5));
3323 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3324 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3325 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3327 NDR_PULL_ALLOC(ndr, r->ts);
3331 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3333 if (ndr_flags & NDR_BUFFERS) {
3335 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3336 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3338 struct ndr_pull *_ndr_ts;
3339 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3341 struct ndr_pull *_ndr_ts_compressed;
3342 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3343 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3344 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3346 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3351 return NDR_ERR_SUCCESS;
3354 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3356 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3358 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3359 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3360 ndr_print_ptr(ndr, "ts", r->ts);
3363 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3369 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3372 TALLOC_CTX *_mem_save_ts_0;
3373 if (ndr_flags & NDR_SCALARS) {
3374 NDR_CHECK(ndr_pull_align(ndr, 5));
3375 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3376 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3377 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3379 NDR_PULL_ALLOC(ndr, r->ts);
3383 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3385 if (ndr_flags & NDR_BUFFERS) {
3387 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3388 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3390 struct ndr_pull *_ndr_ts;
3391 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3393 struct ndr_pull *_ndr_ts_compressed;
3394 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3395 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3396 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3398 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3403 return NDR_ERR_SUCCESS;
3406 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3408 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3410 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3411 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3412 ndr_print_ptr(ndr, "ts", r->ts);
3415 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3421 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3423 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3424 return NDR_ERR_SUCCESS;
3427 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3430 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3432 return NDR_ERR_SUCCESS;
3435 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3437 const char *val = NULL;
3440 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3441 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3443 ndr_print_enum(ndr, name, "ENUM", val, r);
3446 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3449 uint32_t _flags_save_UNION = ndr->flags;
3450 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3451 if (ndr_flags & NDR_SCALARS) {
3452 int level = ndr_push_get_switch_value(ndr, r);
3453 NDR_CHECK(ndr_push_union_align(ndr, 5));
3455 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3456 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3459 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3460 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3463 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3464 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3467 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3468 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3472 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3475 if (ndr_flags & NDR_BUFFERS) {
3476 int level = ndr_push_get_switch_value(ndr, r);
3478 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3479 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3482 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3483 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3486 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3487 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3490 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3491 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3495 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3498 ndr->flags = _flags_save_UNION;
3500 return NDR_ERR_SUCCESS;
3503 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3507 uint32_t _flags_save_UNION = ndr->flags;
3508 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3509 level = ndr_pull_get_switch_value(ndr, r);
3510 if (ndr_flags & NDR_SCALARS) {
3511 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3513 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3514 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3517 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3518 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3521 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3522 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3525 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3526 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3530 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3533 if (ndr_flags & NDR_BUFFERS) {
3535 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3536 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3539 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3540 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3543 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3544 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3547 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3548 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3552 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3555 ndr->flags = _flags_save_UNION;
3557 return NDR_ERR_SUCCESS;
3560 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3564 uint32_t _flags_save_UNION = ndr->flags;
3565 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3566 level = ndr_print_get_switch_value(ndr, r);
3567 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3569 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3570 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3573 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3574 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3577 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3578 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3581 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3582 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3586 ndr_print_bad_level(ndr, name, level);
3588 ndr->flags = _flags_save_UNION;
3592 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3594 if (ndr_flags & NDR_SCALARS) {
3595 NDR_CHECK(ndr_push_align(ndr, 5));
3596 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3597 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3599 if (ndr_flags & NDR_BUFFERS) {
3600 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3602 return NDR_ERR_SUCCESS;
3605 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3607 if (ndr_flags & NDR_SCALARS) {
3608 NDR_CHECK(ndr_pull_align(ndr, 5));
3609 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3610 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3612 if (ndr_flags & NDR_BUFFERS) {
3613 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3615 return NDR_ERR_SUCCESS;
3618 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3620 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3622 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3626 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3628 if (ndr_flags & NDR_SCALARS) {
3629 NDR_CHECK(ndr_push_align(ndr, 5));
3630 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
3631 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3632 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3633 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3634 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3636 if (ndr_flags & NDR_BUFFERS) {
3637 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3639 return NDR_ERR_SUCCESS;
3642 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3644 if (ndr_flags & NDR_SCALARS) {
3645 NDR_CHECK(ndr_pull_align(ndr, 5));
3646 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
3647 if (r->level < 0 || r->level > 6) {
3648 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3650 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3651 if (r->type < 2 || r->type > 3) {
3652 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3654 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3655 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3656 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3658 if (ndr_flags & NDR_BUFFERS) {
3659 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3661 return NDR_ERR_SUCCESS;
3664 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3666 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3668 ndr_print_int32(ndr, "level", r->level);
3669 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3670 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3671 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3675 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3677 if (ndr_flags & NDR_SCALARS) {
3678 int level = ndr_push_get_switch_value(ndr, r);
3679 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3680 NDR_CHECK(ndr_push_union_align(ndr, 8));
3683 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3687 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3691 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3695 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3699 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3702 if (ndr_flags & NDR_BUFFERS) {
3703 int level = ndr_push_get_switch_value(ndr, r);
3706 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3710 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3714 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3718 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3722 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3725 return NDR_ERR_SUCCESS;
3728 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3732 level = ndr_pull_get_switch_value(ndr, r);
3733 if (ndr_flags & NDR_SCALARS) {
3734 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3735 if (_level != level) {
3736 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3738 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3741 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3745 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3749 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3753 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3757 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3760 if (ndr_flags & NDR_BUFFERS) {
3763 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3767 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3771 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3775 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3779 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3782 return NDR_ERR_SUCCESS;
3785 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3788 level = ndr_print_get_switch_value(ndr, r);
3789 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3792 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3796 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3800 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3804 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3808 ndr_print_bad_level(ndr, name, level);
3812 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3814 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3815 return NDR_ERR_SUCCESS;
3818 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3821 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3823 return NDR_ERR_SUCCESS;
3826 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3828 ndr_print_uint32(ndr, name, r);
3830 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION, r);
3831 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK", DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK, r);
3832 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE, r);
3833 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE, r);
3834 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE, r);
3838 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3840 if (ndr_flags & NDR_SCALARS) {
3841 NDR_CHECK(ndr_push_align(ndr, 5));
3842 if (r->naming_context == NULL) {
3843 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3845 NDR_CHECK(ndr_push_ref_ptr(ndr));
3846 if (r->dest_dsa_dns_name == NULL) {
3847 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3849 NDR_CHECK(ndr_push_ref_ptr(ndr));
3850 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3851 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->options));
3852 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3854 if (ndr_flags & NDR_BUFFERS) {
3855 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3856 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3857 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3858 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3859 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));
3861 return NDR_ERR_SUCCESS;
3864 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3866 uint32_t _ptr_naming_context;
3867 TALLOC_CTX *_mem_save_naming_context_0;
3868 uint32_t _ptr_dest_dsa_dns_name;
3869 if (ndr_flags & NDR_SCALARS) {
3870 NDR_CHECK(ndr_pull_align(ndr, 5));
3871 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3872 if (_ptr_naming_context) {
3873 NDR_PULL_ALLOC(ndr, r->naming_context);
3875 r->naming_context = NULL;
3877 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3878 if (_ptr_dest_dsa_dns_name) {
3879 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3881 r->dest_dsa_dns_name = NULL;
3883 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3884 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->options));
3885 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3887 if (ndr_flags & NDR_BUFFERS) {
3888 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3889 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3890 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3891 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3892 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3893 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3894 if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) {
3895 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));
3897 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t)));
3898 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));
3900 return NDR_ERR_SUCCESS;
3903 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3905 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3907 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3909 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3911 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3913 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3915 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3916 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "options", r->options);
3920 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3922 if (ndr_flags & NDR_SCALARS) {
3923 int level = ndr_push_get_switch_value(ndr, r);
3924 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3925 NDR_CHECK(ndr_push_union_align(ndr, 5));
3928 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3932 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3935 if (ndr_flags & NDR_BUFFERS) {
3936 int level = ndr_push_get_switch_value(ndr, r);
3939 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3943 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3946 return NDR_ERR_SUCCESS;
3949 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3953 level = ndr_pull_get_switch_value(ndr, r);
3954 if (ndr_flags & NDR_SCALARS) {
3955 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3956 if (_level != level) {
3957 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3959 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3962 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3966 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3969 if (ndr_flags & NDR_BUFFERS) {
3972 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3976 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3979 return NDR_ERR_SUCCESS;
3982 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3985 level = ndr_print_get_switch_value(ndr, r);
3986 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
3989 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
3993 ndr_print_bad_level(ndr, name, level);
3997 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3999 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4000 return NDR_ERR_SUCCESS;
4003 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4006 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4008 return NDR_ERR_SUCCESS;
4011 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4013 ndr_print_uint32(ndr, name, r);
4015 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4016 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4020 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
4022 if (ndr_flags & NDR_SCALARS) {
4023 NDR_CHECK(ndr_push_align(ndr, 5));
4024 if (r->naming_context == NULL) {
4025 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4027 NDR_CHECK(ndr_push_ref_ptr(ndr));
4028 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4029 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4030 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
4031 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4033 if (ndr_flags & NDR_BUFFERS) {
4034 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4035 if (r->source_dsa_address) {
4036 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4037 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4038 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4039 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));
4042 return NDR_ERR_SUCCESS;
4045 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
4047 uint32_t _ptr_naming_context;
4048 TALLOC_CTX *_mem_save_naming_context_0;
4049 uint32_t _ptr_source_dsa_address;
4050 TALLOC_CTX *_mem_save_source_dsa_address_0;
4051 if (ndr_flags & NDR_SCALARS) {
4052 NDR_CHECK(ndr_pull_align(ndr, 5));
4053 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4054 if (_ptr_naming_context) {
4055 NDR_PULL_ALLOC(ndr, r->naming_context);
4057 r->naming_context = NULL;
4059 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4060 if (_ptr_source_dsa_address) {
4061 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4063 r->source_dsa_address = NULL;
4065 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4066 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
4067 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4069 if (ndr_flags & NDR_BUFFERS) {
4070 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4071 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4072 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4073 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4074 if (r->source_dsa_address) {
4075 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4076 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4077 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4078 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4079 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4080 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));
4082 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4083 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));
4084 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4087 return NDR_ERR_SUCCESS;
4090 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
4092 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
4094 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4096 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4098 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4100 if (r->source_dsa_address) {
4101 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4104 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4105 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
4109 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
4111 if (ndr_flags & NDR_SCALARS) {
4112 NDR_CHECK(ndr_push_align(ndr, 5));
4113 if (r->naming_context == NULL) {
4114 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4116 NDR_CHECK(ndr_push_ref_ptr(ndr));
4117 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
4118 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
4119 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4120 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4121 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
4122 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4124 if (ndr_flags & NDR_BUFFERS) {
4125 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4126 if (r->source_dsa_dn) {
4127 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4129 if (r->transport_dn) {
4130 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4132 if (r->source_dsa_address) {
4133 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4134 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4135 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4136 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));
4139 return NDR_ERR_SUCCESS;
4142 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
4144 uint32_t _ptr_naming_context;
4145 TALLOC_CTX *_mem_save_naming_context_0;
4146 uint32_t _ptr_source_dsa_dn;
4147 TALLOC_CTX *_mem_save_source_dsa_dn_0;
4148 uint32_t _ptr_transport_dn;
4149 TALLOC_CTX *_mem_save_transport_dn_0;
4150 uint32_t _ptr_source_dsa_address;
4151 TALLOC_CTX *_mem_save_source_dsa_address_0;
4152 if (ndr_flags & NDR_SCALARS) {
4153 NDR_CHECK(ndr_pull_align(ndr, 5));
4154 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4155 if (_ptr_naming_context) {
4156 NDR_PULL_ALLOC(ndr, r->naming_context);
4158 r->naming_context = NULL;
4160 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
4161 if (_ptr_source_dsa_dn) {
4162 NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
4164 r->source_dsa_dn = NULL;
4166 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
4167 if (_ptr_transport_dn) {
4168 NDR_PULL_ALLOC(ndr, r->transport_dn);
4170 r->transport_dn = NULL;
4172 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4173 if (_ptr_source_dsa_address) {
4174 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4176 r->source_dsa_address = NULL;
4178 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4179 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
4180 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4182 if (ndr_flags & NDR_BUFFERS) {
4183 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4184 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4185 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4186 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4187 if (r->source_dsa_dn) {
4188 _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4189 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
4190 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
4193 if (r->transport_dn) {
4194 _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4195 NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
4196 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4197 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
4199 if (r->source_dsa_address) {
4200 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4201 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4202 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4203 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4204 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4205 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));
4207 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4208 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));
4209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4212 return NDR_ERR_SUCCESS;
4215 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
4217 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
4219 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4221 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4223 ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
4225 if (r->source_dsa_dn) {
4226 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
4229 ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
4231 if (r->transport_dn) {
4232 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
4235 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4237 if (r->source_dsa_address) {
4238 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4241 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4242 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
4246 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
4248 if (ndr_flags & NDR_SCALARS) {
4249 int level = ndr_push_get_switch_value(ndr, r);
4250 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4251 NDR_CHECK(ndr_push_union_align(ndr, 5));
4254 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4258 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4262 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4265 if (ndr_flags & NDR_BUFFERS) {
4266 int level = ndr_push_get_switch_value(ndr, r);
4269 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4273 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4277 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4280 return NDR_ERR_SUCCESS;
4283 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
4287 level = ndr_pull_get_switch_value(ndr, r);
4288 if (ndr_flags & NDR_SCALARS) {
4289 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4290 if (_level != level) {
4291 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4293 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4296 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4300 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4304 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4307 if (ndr_flags & NDR_BUFFERS) {
4310 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4314 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4318 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4321 return NDR_ERR_SUCCESS;
4324 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4327 level = ndr_print_get_switch_value(ndr, r);
4328 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4331 ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4335 ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4339 ndr_print_bad_level(ndr, name, level);
4343 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4345 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4346 return NDR_ERR_SUCCESS;
4349 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4352 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4354 return NDR_ERR_SUCCESS;
4357 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4359 ndr_print_uint32(ndr, name, r);
4361 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4362 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4366 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4368 if (ndr_flags & NDR_SCALARS) {
4369 NDR_CHECK(ndr_push_align(ndr, 5));
4370 if (r->naming_context == NULL) {
4371 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4373 NDR_CHECK(ndr_push_ref_ptr(ndr));
4374 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4375 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->options));
4376 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4378 if (ndr_flags & NDR_BUFFERS) {
4379 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4380 if (r->source_dsa_address) {
4381 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4382 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4383 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4384 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));
4387 return NDR_ERR_SUCCESS;
4390 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4392 uint32_t _ptr_naming_context;
4393 TALLOC_CTX *_mem_save_naming_context_0;
4394 uint32_t _ptr_source_dsa_address;
4395 TALLOC_CTX *_mem_save_source_dsa_address_0;
4396 if (ndr_flags & NDR_SCALARS) {
4397 NDR_CHECK(ndr_pull_align(ndr, 5));
4398 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4399 if (_ptr_naming_context) {
4400 NDR_PULL_ALLOC(ndr, r->naming_context);
4402 r->naming_context = NULL;
4404 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4405 if (_ptr_source_dsa_address) {
4406 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4408 r->source_dsa_address = NULL;
4410 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->options));
4411 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4413 if (ndr_flags & NDR_BUFFERS) {
4414 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4415 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4416 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4417 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4418 if (r->source_dsa_address) {
4419 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4420 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4421 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4422 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4423 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4424 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));
4426 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4427 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));
4428 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4431 return NDR_ERR_SUCCESS;
4434 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4436 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4438 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4440 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4442 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4444 if (r->source_dsa_address) {
4445 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4448 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "options", r->options);
4452 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4454 if (ndr_flags & NDR_SCALARS) {
4455 int level = ndr_push_get_switch_value(ndr, r);
4456 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4457 NDR_CHECK(ndr_push_union_align(ndr, 5));
4460 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4464 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4467 if (ndr_flags & NDR_BUFFERS) {
4468 int level = ndr_push_get_switch_value(ndr, r);
4471 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4475 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4478 return NDR_ERR_SUCCESS;
4481 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4485 level = ndr_pull_get_switch_value(ndr, r);
4486 if (ndr_flags & NDR_SCALARS) {
4487 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4488 if (_level != level) {
4489 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4491 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4494 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4498 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4501 if (ndr_flags & NDR_BUFFERS) {
4504 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4508 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4511 return NDR_ERR_SUCCESS;
4514 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4517 level = ndr_print_get_switch_value(ndr, r);
4518 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4521 ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4525 ndr_print_bad_level(ndr, name, level);
4529 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4532 return NDR_ERR_SUCCESS;
4535 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4538 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4540 return NDR_ERR_SUCCESS;
4543 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4545 ndr_print_uint32(ndr, name, r);
4547 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4548 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4552 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4554 if (ndr_flags & NDR_SCALARS) {
4555 NDR_CHECK(ndr_push_align(ndr, 5));
4556 if (r->naming_context == NULL) {
4557 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4559 NDR_CHECK(ndr_push_ref_ptr(ndr));
4560 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4561 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4562 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4563 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags));
4564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4565 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->options));
4566 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4568 if (ndr_flags & NDR_BUFFERS) {
4569 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4570 if (r->source_dra_address) {
4571 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4572 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4573 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4574 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));
4577 return NDR_ERR_SUCCESS;
4580 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4582 uint32_t _ptr_naming_context;
4583 TALLOC_CTX *_mem_save_naming_context_0;
4584 uint32_t _ptr_source_dra_address;
4585 TALLOC_CTX *_mem_save_source_dra_address_0;
4586 if (ndr_flags & NDR_SCALARS) {
4587 NDR_CHECK(ndr_pull_align(ndr, 5));
4588 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4589 if (_ptr_naming_context) {
4590 NDR_PULL_ALLOC(ndr, r->naming_context);
4592 r->naming_context = NULL;
4594 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4595 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4596 if (_ptr_source_dra_address) {
4597 NDR_PULL_ALLOC(ndr, r->source_dra_address);
4599 r->source_dra_address = NULL;
4601 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4602 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags));
4603 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4604 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->options));
4605 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4607 if (ndr_flags & NDR_BUFFERS) {
4608 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4609 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4610 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4611 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4612 if (r->source_dra_address) {
4613 _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4614 NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4615 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4616 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4617 if (ndr_get_array_length(ndr, &r->source_dra_address) > ndr_get_array_size(ndr, &r->source_dra_address)) {
4618 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));
4620 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t)));
4621 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));
4622 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4625 return NDR_ERR_SUCCESS;
4628 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4630 ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4632 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4634 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4636 ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4637 ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4639 if (r->source_dra_address) {
4640 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4643 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4644 ndr_print_uint32(ndr, "replica_flags", r->replica_flags);
4645 ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4646 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "options", r->options);
4650 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4652 if (ndr_flags & NDR_SCALARS) {
4653 int level = ndr_push_get_switch_value(ndr, r);
4654 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4655 NDR_CHECK(ndr_push_union_align(ndr, 5));
4658 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4662 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4665 if (ndr_flags & NDR_BUFFERS) {
4666 int level = ndr_push_get_switch_value(ndr, r);
4669 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4673 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4676 return NDR_ERR_SUCCESS;
4679 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4683 level = ndr_pull_get_switch_value(ndr, r);
4684 if (ndr_flags & NDR_SCALARS) {
4685 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4686 if (_level != level) {
4687 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4689 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4692 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4696 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4699 if (ndr_flags & NDR_BUFFERS) {
4702 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4706 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4709 return NDR_ERR_SUCCESS;
4712 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
4715 level = ndr_print_get_switch_value(ndr, r);
4716 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
4719 ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
4723 ndr_print_bad_level(ndr, name, level);
4727 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
4729 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4730 return NDR_ERR_SUCCESS;
4733 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
4736 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4738 return NDR_ERR_SUCCESS;
4741 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
4743 const char *val = NULL;
4746 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4747 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4748 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4749 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4750 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4751 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4752 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4754 ndr_print_enum(ndr, name, "ENUM", val, r);
4757 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
4759 uint32_t cntr_info_array_1;
4760 uint32_t cntr_group_attrs_1;
4761 uint32_t cntr_sids_1;
4762 if (ndr_flags & NDR_SCALARS) {
4763 NDR_CHECK(ndr_push_align(ndr, 5));
4764 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4765 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4766 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4767 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4768 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
4769 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4770 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4772 if (ndr_flags & NDR_BUFFERS) {
4773 if (r->info_array) {
4774 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4775 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4776 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4778 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4779 if (r->info_array[cntr_info_array_1]) {
4780 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4784 if (r->group_attrs) {
4785 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4786 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4787 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
4791 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
4792 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4793 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
4795 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4796 if (r->sids[cntr_sids_1]) {
4797 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4802 return NDR_ERR_SUCCESS;
4805 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
4807 uint32_t _ptr_info_array;
4808 uint32_t cntr_info_array_1;
4809 TALLOC_CTX *_mem_save_info_array_0;
4810 TALLOC_CTX *_mem_save_info_array_1;
4811 TALLOC_CTX *_mem_save_info_array_2;
4812 uint32_t _ptr_group_attrs;
4813 uint32_t cntr_group_attrs_1;
4814 TALLOC_CTX *_mem_save_group_attrs_0;
4815 TALLOC_CTX *_mem_save_group_attrs_1;
4817 uint32_t cntr_sids_1;
4818 TALLOC_CTX *_mem_save_sids_0;
4819 TALLOC_CTX *_mem_save_sids_1;
4820 TALLOC_CTX *_mem_save_sids_2;
4821 if (ndr_flags & NDR_SCALARS) {
4822 NDR_CHECK(ndr_pull_align(ndr, 5));
4823 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4824 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
4825 if (r->num_memberships > 10000) {
4826 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4828 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
4829 if (r->num_sids > 10000) {
4830 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4832 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4833 if (_ptr_info_array) {
4834 NDR_PULL_ALLOC(ndr, r->info_array);
4836 r->info_array = NULL;
4838 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
4839 if (_ptr_group_attrs) {
4840 NDR_PULL_ALLOC(ndr, r->group_attrs);
4842 r->group_attrs = NULL;
4844 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4846 NDR_PULL_ALLOC(ndr, r->sids);
4850 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4852 if (ndr_flags & NDR_BUFFERS) {
4853 if (r->info_array) {
4854 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4855 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4856 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4857 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4858 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4859 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4860 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4861 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4862 if (_ptr_info_array) {
4863 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4865 r->info_array[cntr_info_array_1] = NULL;
4868 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4869 if (r->info_array[cntr_info_array_1]) {
4870 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4871 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4872 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4873 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4876 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4877 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4879 if (r->group_attrs) {
4880 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
4881 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4882 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
4883 NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs));
4884 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
4885 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4886 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4887 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
4889 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
4890 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
4893 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4894 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4895 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4896 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
4897 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4898 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4899 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4900 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4902 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
4904 r->sids[cntr_sids_1] = NULL;
4907 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4908 if (r->sids[cntr_sids_1]) {
4909 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
4910 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
4911 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4912 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
4915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4918 if (r->info_array) {
4919 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
4921 if (r->group_attrs) {
4922 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
4925 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
4928 return NDR_ERR_SUCCESS;
4931 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
4933 uint32_t cntr_info_array_1;
4934 uint32_t cntr_group_attrs_1;
4935 uint32_t cntr_sids_1;
4936 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
4938 ndr_print_NTSTATUS(ndr, "status", r->status);
4939 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
4940 ndr_print_uint32(ndr, "num_sids", r->num_sids);
4941 ndr_print_ptr(ndr, "info_array", r->info_array);
4943 if (r->info_array) {
4944 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
4946 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
4948 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4949 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4951 if (r->info_array[cntr_info_array_1]) {
4952 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4961 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
4963 if (r->group_attrs) {
4964 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
4966 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
4968 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
4969 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
4976 ndr_print_ptr(ndr, "sids", r->sids);
4979 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
4981 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
4983 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
4984 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
4986 if (r->sids[cntr_sids_1]) {
4987 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
4999 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
5001 if (ndr_flags & NDR_SCALARS) {
5002 int level = ndr_push_get_switch_value(ndr, r);
5003 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5004 NDR_CHECK(ndr_push_union_align(ndr, 5));
5007 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5011 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5014 if (ndr_flags & NDR_BUFFERS) {
5015 int level = ndr_push_get_switch_value(ndr, r);
5018 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5022 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5025 return NDR_ERR_SUCCESS;
5028 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
5032 level = ndr_pull_get_switch_value(ndr, r);
5033 if (ndr_flags & NDR_SCALARS) {
5034 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5035 if (_level != level) {
5036 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5038 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5041 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5045 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5048 if (ndr_flags & NDR_BUFFERS) {
5051 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5055 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5058 return NDR_ERR_SUCCESS;
5061 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
5064 level = ndr_print_get_switch_value(ndr, r);
5065 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
5068 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
5072 ndr_print_bad_level(ndr, name, level);
5076 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
5078 uint32_t cntr_info_array_1;
5079 if (ndr_flags & NDR_SCALARS) {
5080 NDR_CHECK(ndr_push_align(ndr, 5));
5081 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5082 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
5083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5084 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
5085 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5086 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5088 if (ndr_flags & NDR_BUFFERS) {
5089 if (r->info_array) {
5090 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5091 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5092 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
5094 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5095 if (r->info_array[cntr_info_array_1]) {
5096 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5101 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5104 return NDR_ERR_SUCCESS;
5107 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
5109 uint32_t _ptr_info_array;
5110 uint32_t cntr_info_array_1;
5111 TALLOC_CTX *_mem_save_info_array_0;
5112 TALLOC_CTX *_mem_save_info_array_1;
5113 TALLOC_CTX *_mem_save_info_array_2;
5114 uint32_t _ptr_domain;
5115 TALLOC_CTX *_mem_save_domain_0;
5116 if (ndr_flags & NDR_SCALARS) {
5117 NDR_CHECK(ndr_pull_align(ndr, 5));
5118 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5119 if (r->count < 1 || r->count > 10000) {
5120 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5122 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5123 if (_ptr_info_array) {
5124 NDR_PULL_ALLOC(ndr, r->info_array);
5126 r->info_array = NULL;
5128 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5129 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
5130 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5132 NDR_PULL_ALLOC(ndr, r->domain);
5136 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5138 if (ndr_flags & NDR_BUFFERS) {
5139 if (r->info_array) {
5140 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5141 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5142 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5143 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
5144 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5145 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5146 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5147 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5148 if (_ptr_info_array) {
5149 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5151 r->info_array[cntr_info_array_1] = NULL;
5154 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5155 if (r->info_array[cntr_info_array_1]) {
5156 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5157 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5158 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5163 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5166 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5167 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5168 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5169 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5171 if (r->info_array) {
5172 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
5175 return NDR_ERR_SUCCESS;
5178 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
5180 uint32_t cntr_info_array_1;
5181 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
5183 ndr_print_uint32(ndr, "count", r->count);
5184 ndr_print_ptr(ndr, "info_array", r->info_array);
5186 if (r->info_array) {
5187 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
5189 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
5191 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
5192 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5194 if (r->info_array[cntr_info_array_1]) {
5195 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5204 ndr_print_uint32(ndr, "flags", r->flags);
5205 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
5206 ndr_print_ptr(ndr, "domain", r->domain);
5209 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
5215 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
5217 if (ndr_flags & NDR_SCALARS) {
5218 int level = ndr_push_get_switch_value(ndr, r);
5219 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5220 NDR_CHECK(ndr_push_union_align(ndr, 5));
5223 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5227 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5230 if (ndr_flags & NDR_BUFFERS) {
5231 int level = ndr_push_get_switch_value(ndr, r);
5234 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5238 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5241 return NDR_ERR_SUCCESS;
5244 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
5248 level = ndr_pull_get_switch_value(ndr, r);
5249 if (ndr_flags & NDR_SCALARS) {
5250 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5251 if (_level != level) {
5252 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5254 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5257 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5261 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5264 if (ndr_flags & NDR_BUFFERS) {
5267 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5271 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5274 return NDR_ERR_SUCCESS;
5277 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
5280 level = ndr_print_get_switch_value(ndr, r);
5281 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
5284 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
5288 ndr_print_bad_level(ndr, name, level);
5292 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5294 if (ndr_flags & NDR_SCALARS) {
5295 NDR_CHECK(ndr_push_align(ndr, 5));
5296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5298 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5299 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5300 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5302 if (ndr_flags & NDR_BUFFERS) {
5304 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
5305 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5308 return NDR_ERR_SUCCESS;
5311 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5314 TALLOC_CTX *_mem_save_data_0;
5315 if (ndr_flags & NDR_SCALARS) {
5316 NDR_CHECK(ndr_pull_align(ndr, 5));
5317 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5318 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5319 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5320 if (r->length > 0x00A00000) {
5321 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5323 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5325 NDR_PULL_ALLOC(ndr, r->data);
5329 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5331 if (ndr_flags & NDR_BUFFERS) {
5333 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5334 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5335 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5336 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
5337 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
5338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5341 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5344 return NDR_ERR_SUCCESS;
5347 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5349 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5351 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5352 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5353 ndr_print_uint32(ndr, "length", r->length);
5354 ndr_print_ptr(ndr, "data", r->data);
5357 ndr_print_array_uint8(ndr, "data", r->data, r->length);
5363 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5365 if (ndr_flags & NDR_SCALARS) {
5366 int level = ndr_push_get_switch_value(ndr, r);
5367 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5368 NDR_CHECK(ndr_push_union_align(ndr, 5));
5371 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5375 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5378 if (ndr_flags & NDR_BUFFERS) {
5379 int level = ndr_push_get_switch_value(ndr, r);
5382 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5386 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5389 return NDR_ERR_SUCCESS;
5392 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5396 level = ndr_pull_get_switch_value(ndr, r);
5397 if (ndr_flags & NDR_SCALARS) {
5398 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5399 if (_level != level) {
5400 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5402 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5405 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5409 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5412 if (ndr_flags & NDR_BUFFERS) {
5415 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5419 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5422 return NDR_ERR_SUCCESS;
5425 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5428 level = ndr_print_get_switch_value(ndr, r);
5429 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5432 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5436 ndr_print_bad_level(ndr, name, level);
5440 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5442 if (ndr_flags & NDR_SCALARS) {
5443 NDR_CHECK(ndr_push_align(ndr, 8));
5444 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
5445 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
5446 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
5447 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time2));
5448 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3));
5449 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time4));
5450 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5));
5451 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time6));
5452 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5453 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data1));
5454 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data2));
5455 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5457 if (ndr_flags & NDR_BUFFERS) {
5459 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length1));
5460 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data1, r->length1));
5463 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length2));
5464 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data2, r->length2));
5467 return NDR_ERR_SUCCESS;
5470 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5472 uint32_t _ptr_data1;
5473 TALLOC_CTX *_mem_save_data1_0;
5474 uint32_t _ptr_data2;
5475 TALLOC_CTX *_mem_save_data2_0;
5476 if (ndr_flags & NDR_SCALARS) {
5477 NDR_CHECK(ndr_pull_align(ndr, 8));
5478 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length1));
5479 if (r->length1 > 0x00A00000) {
5480 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5482 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length2));
5483 if (r->length2 > 0x00A00000) {
5484 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5486 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
5487 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time2));
5488 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3));
5489 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time4));
5490 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5));
5491 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time6));
5492 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5493 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data1));
5495 NDR_PULL_ALLOC(ndr, r->data1);
5499 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data2));
5501 NDR_PULL_ALLOC(ndr, r->data2);
5505 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5507 if (ndr_flags & NDR_BUFFERS) {
5509 _mem_save_data1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5510 NDR_PULL_SET_MEM_CTX(ndr, r->data1, 0);
5511 NDR_CHECK(ndr_pull_array_size(ndr, &r->data1));
5512 NDR_PULL_ALLOC_N(ndr, r->data1, ndr_get_array_size(ndr, &r->data1));
5513 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data1, ndr_get_array_size(ndr, &r->data1)));
5514 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data1_0, 0);
5517 _mem_save_data2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5518 NDR_PULL_SET_MEM_CTX(ndr, r->data2, 0);
5519 NDR_CHECK(ndr_pull_array_size(ndr, &r->data2));
5520 NDR_PULL_ALLOC_N(ndr, r->data2, ndr_get_array_size(ndr, &r->data2));
5521 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data2, ndr_get_array_size(ndr, &r->data2)));
5522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data2_0, 0);
5525 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data1, r->length1));
5528 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data2, r->length2));
5531 return NDR_ERR_SUCCESS;
5534 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5536 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5538 ndr_print_uint32(ndr, "length1", r->length1);
5539 ndr_print_uint32(ndr, "length2", r->length2);
5540 ndr_print_hyper(ndr, "unknown1", r->unknown1);
5541 ndr_print_NTTIME(ndr, "time2", r->time2);
5542 ndr_print_hyper(ndr, "unknown3", r->unknown3);
5543 ndr_print_NTTIME(ndr, "time4", r->time4);
5544 ndr_print_hyper(ndr, "unknown5", r->unknown5);
5545 ndr_print_NTTIME(ndr, "time6", r->time6);
5546 ndr_print_NTSTATUS(ndr, "status", r->status);
5547 ndr_print_ptr(ndr, "data1", r->data1);
5550 ndr_print_array_uint8(ndr, "data1", r->data1, r->length1);
5553 ndr_print_ptr(ndr, "data2", r->data2);
5556 ndr_print_array_uint8(ndr, "data2", r->data2, r->length2);
5562 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5564 if (ndr_flags & NDR_SCALARS) {
5565 int level = ndr_push_get_switch_value(ndr, r);
5566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5567 NDR_CHECK(ndr_push_union_align(ndr, 8));
5570 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5574 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5577 if (ndr_flags & NDR_BUFFERS) {
5578 int level = ndr_push_get_switch_value(ndr, r);
5581 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5585 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5588 return NDR_ERR_SUCCESS;
5591 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5595 level = ndr_pull_get_switch_value(ndr, r);
5596 if (ndr_flags & NDR_SCALARS) {
5597 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5598 if (_level != level) {
5599 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5601 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5604 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5608 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5611 if (ndr_flags & NDR_BUFFERS) {
5614 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5618 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5621 return NDR_ERR_SUCCESS;
5624 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5627 level = ndr_print_get_switch_value(ndr, r);
5628 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5631 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5635 ndr_print_bad_level(ndr, name, level);
5639 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5641 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5642 return NDR_ERR_SUCCESS;
5645 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5648 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5650 return NDR_ERR_SUCCESS;
5653 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5655 const char *val = NULL;
5658 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5659 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5660 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5661 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5662 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5663 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5664 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5665 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5667 ndr_print_enum(ndr, name, "ENUM", val, r);
5670 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5672 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5673 return NDR_ERR_SUCCESS;
5676 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5679 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5681 return NDR_ERR_SUCCESS;
5684 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5686 const char *val = NULL;
5689 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5690 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5691 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5692 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5693 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5695 ndr_print_enum(ndr, name, "ENUM", val, r);
5698 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5700 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5701 return NDR_ERR_SUCCESS;
5704 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5707 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5709 return NDR_ERR_SUCCESS;
5712 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5714 const char *val = NULL;
5717 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5718 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5719 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5720 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5721 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5722 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5723 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5724 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5725 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5726 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5727 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5729 ndr_print_enum(ndr, name, "ENUM", val, r);
5732 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5734 if (ndr_flags & NDR_SCALARS) {
5735 NDR_CHECK(ndr_push_align(ndr, 5));
5736 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5737 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5739 if (ndr_flags & NDR_BUFFERS) {
5741 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5742 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5743 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5744 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5747 return NDR_ERR_SUCCESS;
5750 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5753 TALLOC_CTX *_mem_save_str_0;
5754 if (ndr_flags & NDR_SCALARS) {
5755 NDR_CHECK(ndr_pull_align(ndr, 5));
5756 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5758 NDR_PULL_ALLOC(ndr, r->str);
5762 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5764 if (ndr_flags & NDR_BUFFERS) {
5766 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5767 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5768 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5769 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5770 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
5771 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));
5773 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
5774 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
5775 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5778 return NDR_ERR_SUCCESS;
5781 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5783 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5785 ndr_print_ptr(ndr, "str", r->str);
5788 ndr_print_string(ndr, "str", r->str);
5794 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5796 uint32_t cntr_names_1;
5797 if (ndr_flags & NDR_SCALARS) {
5798 NDR_CHECK(ndr_push_align(ndr, 5));
5799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5801 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5802 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5803 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5804 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5805 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5806 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5808 if (ndr_flags & NDR_BUFFERS) {
5810 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5811 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5812 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5814 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5815 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5819 return NDR_ERR_SUCCESS;
5822 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5824 uint32_t _ptr_names;
5825 uint32_t cntr_names_1;
5826 TALLOC_CTX *_mem_save_names_0;
5827 TALLOC_CTX *_mem_save_names_1;
5828 if (ndr_flags & NDR_SCALARS) {
5829 NDR_CHECK(ndr_pull_align(ndr, 5));
5830 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5831 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5832 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5833 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5834 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5835 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5836 if (r->count < 1 || r->count > 10000) {
5837 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5839 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5841 NDR_PULL_ALLOC(ndr, r->names);
5845 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5847 if (ndr_flags & NDR_BUFFERS) {
5849 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5850 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5851 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
5852 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
5853 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5854 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5855 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5856 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5858 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5859 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5861 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
5862 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
5865 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
5868 return NDR_ERR_SUCCESS;
5871 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
5873 uint32_t cntr_names_1;
5874 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
5876 ndr_print_uint32(ndr, "codepage", r->codepage);
5877 ndr_print_uint32(ndr, "language", r->language);
5878 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
5879 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
5880 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
5881 ndr_print_uint32(ndr, "count", r->count);
5882 ndr_print_ptr(ndr, "names", r->names);
5885 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
5887 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
5889 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
5890 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
5900 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
5902 if (ndr_flags & NDR_SCALARS) {
5903 int level = ndr_push_get_switch_value(ndr, r);
5904 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5905 NDR_CHECK(ndr_push_union_align(ndr, 5));
5908 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5912 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5915 if (ndr_flags & NDR_BUFFERS) {
5916 int level = ndr_push_get_switch_value(ndr, r);
5919 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5923 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5926 return NDR_ERR_SUCCESS;
5929 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
5933 level = ndr_pull_get_switch_value(ndr, r);
5934 if (ndr_flags & NDR_SCALARS) {
5935 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5936 if (_level != level) {
5937 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5939 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5942 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5946 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5949 if (ndr_flags & NDR_BUFFERS) {
5952 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5956 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5959 return NDR_ERR_SUCCESS;
5962 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
5965 level = ndr_print_get_switch_value(ndr, r);
5966 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
5969 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
5973 ndr_print_bad_level(ndr, name, level);
5977 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
5979 if (ndr_flags & NDR_SCALARS) {
5980 NDR_CHECK(ndr_push_align(ndr, 5));
5981 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
5982 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
5983 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
5984 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5986 if (ndr_flags & NDR_BUFFERS) {
5987 if (r->dns_domain_name) {
5988 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5989 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5990 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5991 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));
5993 if (r->result_name) {
5994 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5995 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5996 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5997 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6000 return NDR_ERR_SUCCESS;
6003 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
6005 uint32_t _ptr_dns_domain_name;
6006 TALLOC_CTX *_mem_save_dns_domain_name_0;
6007 uint32_t _ptr_result_name;
6008 TALLOC_CTX *_mem_save_result_name_0;
6009 if (ndr_flags & NDR_SCALARS) {
6010 NDR_CHECK(ndr_pull_align(ndr, 5));
6011 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
6012 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
6013 if (_ptr_dns_domain_name) {
6014 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
6016 r->dns_domain_name = NULL;
6018 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
6019 if (_ptr_result_name) {
6020 NDR_PULL_ALLOC(ndr, r->result_name);
6022 r->result_name = NULL;
6024 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6026 if (ndr_flags & NDR_BUFFERS) {
6027 if (r->dns_domain_name) {
6028 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6029 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
6030 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
6031 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
6032 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
6033 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));
6035 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
6036 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));
6037 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
6039 if (r->result_name) {
6040 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6041 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
6042 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
6043 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
6044 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
6045 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));
6047 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
6048 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
6049 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
6052 return NDR_ERR_SUCCESS;
6055 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
6057 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
6059 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
6060 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
6062 if (r->dns_domain_name) {
6063 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
6066 ndr_print_ptr(ndr, "result_name", r->result_name);
6068 if (r->result_name) {
6069 ndr_print_string(ndr, "result_name", r->result_name);
6075 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
6077 uint32_t cntr_array_1;
6078 if (ndr_flags & NDR_SCALARS) {
6079 NDR_CHECK(ndr_push_align(ndr, 5));
6080 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6081 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6082 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6084 if (ndr_flags & NDR_BUFFERS) {
6086 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6087 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6088 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6090 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6091 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6095 return NDR_ERR_SUCCESS;
6098 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
6100 uint32_t _ptr_array;
6101 uint32_t cntr_array_1;
6102 TALLOC_CTX *_mem_save_array_0;
6103 TALLOC_CTX *_mem_save_array_1;
6104 if (ndr_flags & NDR_SCALARS) {
6105 NDR_CHECK(ndr_pull_align(ndr, 5));
6106 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6107 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6109 NDR_PULL_ALLOC(ndr, r->array);
6113 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6115 if (ndr_flags & NDR_BUFFERS) {
6117 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6118 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6119 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6120 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6121 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6122 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6123 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6124 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6126 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6127 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6129 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6130 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6133 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6136 return NDR_ERR_SUCCESS;
6139 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6141 uint32_t cntr_array_1;
6142 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6144 ndr_print_uint32(ndr, "count", r->count);
6145 ndr_print_ptr(ndr, "array", r->array);
6148 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6150 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6152 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6153 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6163 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6165 if (ndr_flags & NDR_SCALARS) {
6166 int level = ndr_push_get_switch_value(ndr, r);
6167 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6168 NDR_CHECK(ndr_push_union_align(ndr, 5));
6171 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6175 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6178 if (ndr_flags & NDR_BUFFERS) {
6179 int level = ndr_push_get_switch_value(ndr, r);
6183 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6188 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6191 return NDR_ERR_SUCCESS;
6194 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6198 TALLOC_CTX *_mem_save_ctr1_0;
6199 level = ndr_pull_get_switch_value(ndr, r);
6200 if (ndr_flags & NDR_SCALARS) {
6201 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6202 if (_level != level) {
6203 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6205 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6209 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6211 NDR_PULL_ALLOC(ndr, r->ctr1);
6218 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6221 if (ndr_flags & NDR_BUFFERS) {
6225 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6226 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6227 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6228 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6233 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6236 return NDR_ERR_SUCCESS;
6239 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6242 level = ndr_print_get_switch_value(ndr, r);
6243 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6246 ndr_print_ptr(ndr, "ctr1", r->ctr1);
6249 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6255 ndr_print_bad_level(ndr, name, level);
6259 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6261 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6262 return NDR_ERR_SUCCESS;
6265 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6268 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6270 return NDR_ERR_SUCCESS;
6273 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6275 const char *val = NULL;
6278 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6279 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6280 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6282 ndr_print_enum(ndr, name, "ENUM", val, r);
6285 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6287 uint32_t cntr_spn_names_1;
6288 if (ndr_flags & NDR_SCALARS) {
6289 NDR_CHECK(ndr_push_align(ndr, 5));
6290 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6291 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6292 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6293 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6294 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6295 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6297 if (ndr_flags & NDR_BUFFERS) {
6299 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6300 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6301 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6302 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6305 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6306 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6307 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6309 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6310 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6314 return NDR_ERR_SUCCESS;
6317 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6319 uint32_t _ptr_object_dn;
6320 TALLOC_CTX *_mem_save_object_dn_0;
6321 uint32_t _ptr_spn_names;
6322 uint32_t cntr_spn_names_1;
6323 TALLOC_CTX *_mem_save_spn_names_0;
6324 TALLOC_CTX *_mem_save_spn_names_1;
6325 if (ndr_flags & NDR_SCALARS) {
6326 NDR_CHECK(ndr_pull_align(ndr, 5));
6327 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6328 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6329 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6330 if (_ptr_object_dn) {
6331 NDR_PULL_ALLOC(ndr, r->object_dn);
6333 r->object_dn = NULL;
6335 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6336 if (r->count > 10000) {
6337 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6339 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6340 if (_ptr_spn_names) {
6341 NDR_PULL_ALLOC(ndr, r->spn_names);
6343 r->spn_names = NULL;
6345 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6347 if (ndr_flags & NDR_BUFFERS) {
6349 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6350 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6351 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6352 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6353 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
6354 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));
6356 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
6357 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
6358 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6361 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6362 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6363 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6364 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
6365 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6366 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6367 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6368 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6370 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6371 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6373 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6374 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6377 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6380 return NDR_ERR_SUCCESS;
6383 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6385 uint32_t cntr_spn_names_1;
6386 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6388 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6389 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6390 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6393 ndr_print_string(ndr, "object_dn", r->object_dn);
6396 ndr_print_uint32(ndr, "count", r->count);
6397 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6400 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6402 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6404 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
6405 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6415 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6417 if (ndr_flags & NDR_SCALARS) {
6418 int level = ndr_push_get_switch_value(ndr, r);
6419 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6420 NDR_CHECK(ndr_push_union_align(ndr, 5));
6423 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6427 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6430 if (ndr_flags & NDR_BUFFERS) {
6431 int level = ndr_push_get_switch_value(ndr, r);
6434 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6438 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6441 return NDR_ERR_SUCCESS;
6444 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6448 level = ndr_pull_get_switch_value(ndr, r);
6449 if (ndr_flags & NDR_SCALARS) {
6450 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6451 if (_level != level) {
6452 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6454 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6457 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6461 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6464 if (ndr_flags & NDR_BUFFERS) {
6467 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6471 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6474 return NDR_ERR_SUCCESS;
6477 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6480 level = ndr_print_get_switch_value(ndr, r);
6481 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6484 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6488 ndr_print_bad_level(ndr, name, level);
6492 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6494 if (ndr_flags & NDR_SCALARS) {
6495 NDR_CHECK(ndr_push_align(ndr, 4));
6496 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6497 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6499 if (ndr_flags & NDR_BUFFERS) {
6501 return NDR_ERR_SUCCESS;
6504 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6506 if (ndr_flags & NDR_SCALARS) {
6507 NDR_CHECK(ndr_pull_align(ndr, 4));
6508 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6509 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6511 if (ndr_flags & NDR_BUFFERS) {
6513 return NDR_ERR_SUCCESS;
6516 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6518 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6520 ndr_print_WERROR(ndr, "status", r->status);
6524 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6526 if (ndr_flags & NDR_SCALARS) {
6527 int level = ndr_push_get_switch_value(ndr, r);
6528 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6529 NDR_CHECK(ndr_push_union_align(ndr, 4));
6532 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6536 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6539 if (ndr_flags & NDR_BUFFERS) {
6540 int level = ndr_push_get_switch_value(ndr, r);
6546 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6549 return NDR_ERR_SUCCESS;
6552 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6556 level = ndr_pull_get_switch_value(ndr, r);
6557 if (ndr_flags & NDR_SCALARS) {
6558 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6559 if (_level != level) {
6560 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6562 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6565 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6569 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6572 if (ndr_flags & NDR_BUFFERS) {
6578 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6581 return NDR_ERR_SUCCESS;
6584 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6587 level = ndr_print_get_switch_value(ndr, r);
6588 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6591 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6595 ndr_print_bad_level(ndr, name, level);
6599 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6601 if (ndr_flags & NDR_SCALARS) {
6602 NDR_CHECK(ndr_push_align(ndr, 5));
6603 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6604 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6605 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6606 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6608 if (ndr_flags & NDR_BUFFERS) {
6610 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6611 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6612 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6613 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6616 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6617 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6618 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6619 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6622 return NDR_ERR_SUCCESS;
6625 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6627 uint32_t _ptr_server_dn;
6628 TALLOC_CTX *_mem_save_server_dn_0;
6629 uint32_t _ptr_domain_dn;
6630 TALLOC_CTX *_mem_save_domain_dn_0;
6631 if (ndr_flags & NDR_SCALARS) {
6632 NDR_CHECK(ndr_pull_align(ndr, 5));
6633 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6634 if (_ptr_server_dn) {
6635 NDR_PULL_ALLOC(ndr, r->server_dn);
6637 r->server_dn = NULL;
6639 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6640 if (_ptr_domain_dn) {
6641 NDR_PULL_ALLOC(ndr, r->domain_dn);
6643 r->domain_dn = NULL;
6645 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6646 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6648 if (ndr_flags & NDR_BUFFERS) {
6650 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6651 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6652 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6653 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6654 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6655 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));
6657 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6658 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6659 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6662 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6663 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6664 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6665 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6666 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
6667 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));
6669 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
6670 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
6671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6674 return NDR_ERR_SUCCESS;
6677 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6679 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6681 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6684 ndr_print_string(ndr, "server_dn", r->server_dn);
6687 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6690 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6693 ndr_print_uint32(ndr, "commit", r->commit);
6697 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6699 if (ndr_flags & NDR_SCALARS) {
6700 int level = ndr_push_get_switch_value(ndr, r);
6701 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6702 NDR_CHECK(ndr_push_union_align(ndr, 5));
6705 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6709 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6712 if (ndr_flags & NDR_BUFFERS) {
6713 int level = ndr_push_get_switch_value(ndr, r);
6716 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6720 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6723 return NDR_ERR_SUCCESS;
6726 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6730 level = ndr_pull_get_switch_value(ndr, r);
6731 if (ndr_flags & NDR_SCALARS) {
6732 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6733 if (_level != level) {
6734 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6736 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6739 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6743 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6746 if (ndr_flags & NDR_BUFFERS) {
6749 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6753 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6756 return NDR_ERR_SUCCESS;
6759 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6762 level = ndr_print_get_switch_value(ndr, r);
6763 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6766 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6770 ndr_print_bad_level(ndr, name, level);
6774 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6776 if (ndr_flags & NDR_SCALARS) {
6777 NDR_CHECK(ndr_push_align(ndr, 4));
6778 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6779 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6781 if (ndr_flags & NDR_BUFFERS) {
6783 return NDR_ERR_SUCCESS;
6786 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6788 if (ndr_flags & NDR_SCALARS) {
6789 NDR_CHECK(ndr_pull_align(ndr, 4));
6790 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6791 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6793 if (ndr_flags & NDR_BUFFERS) {
6795 return NDR_ERR_SUCCESS;
6798 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6800 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
6802 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
6806 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
6808 if (ndr_flags & NDR_SCALARS) {
6809 int level = ndr_push_get_switch_value(ndr, r);
6810 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6811 NDR_CHECK(ndr_push_union_align(ndr, 4));
6814 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6818 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6821 if (ndr_flags & NDR_BUFFERS) {
6822 int level = ndr_push_get_switch_value(ndr, r);
6828 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6831 return NDR_ERR_SUCCESS;
6834 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
6838 level = ndr_pull_get_switch_value(ndr, r);
6839 if (ndr_flags & NDR_SCALARS) {
6840 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6841 if (_level != level) {
6842 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6844 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6847 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6851 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6854 if (ndr_flags & NDR_BUFFERS) {
6860 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6863 return NDR_ERR_SUCCESS;
6866 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
6869 level = ndr_print_get_switch_value(ndr, r);
6870 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
6873 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
6877 ndr_print_bad_level(ndr, name, level);
6881 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
6883 if (ndr_flags & NDR_SCALARS) {
6884 NDR_CHECK(ndr_push_align(ndr, 5));
6885 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6886 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
6887 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6889 if (ndr_flags & NDR_BUFFERS) {
6890 if (r->domain_name) {
6891 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6892 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6893 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6894 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6897 return NDR_ERR_SUCCESS;
6900 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
6902 uint32_t _ptr_domain_name;
6903 TALLOC_CTX *_mem_save_domain_name_0;
6904 if (ndr_flags & NDR_SCALARS) {
6905 NDR_CHECK(ndr_pull_align(ndr, 5));
6906 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6907 if (_ptr_domain_name) {
6908 NDR_PULL_ALLOC(ndr, r->domain_name);
6910 r->domain_name = NULL;
6912 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
6913 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6915 if (ndr_flags & NDR_BUFFERS) {
6916 if (r->domain_name) {
6917 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6918 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6919 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6920 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6921 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6922 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));
6924 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6925 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6929 return NDR_ERR_SUCCESS;
6932 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
6934 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
6936 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6938 if (r->domain_name) {
6939 ndr_print_string(ndr, "domain_name", r->domain_name);
6942 ndr_print_int32(ndr, "level", r->level);
6946 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
6948 if (ndr_flags & NDR_SCALARS) {
6949 int level = ndr_push_get_switch_value(ndr, r);
6950 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6951 NDR_CHECK(ndr_push_union_align(ndr, 5));
6954 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6958 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6961 if (ndr_flags & NDR_BUFFERS) {
6962 int level = ndr_push_get_switch_value(ndr, r);
6965 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6969 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6972 return NDR_ERR_SUCCESS;
6975 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
6979 level = ndr_pull_get_switch_value(ndr, r);
6980 if (ndr_flags & NDR_SCALARS) {
6981 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6982 if (_level != level) {
6983 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6985 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6988 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6992 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6995 if (ndr_flags & NDR_BUFFERS) {
6998 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
7002 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7005 return NDR_ERR_SUCCESS;
7008 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
7011 level = ndr_print_get_switch_value(ndr, r);
7012 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
7015 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
7019 ndr_print_bad_level(ndr, name, level);
7023 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
7025 if (ndr_flags & NDR_SCALARS) {
7026 NDR_CHECK(ndr_push_align(ndr, 5));
7027 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7028 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7029 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7030 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7031 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7032 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7033 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7034 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7036 if (ndr_flags & NDR_BUFFERS) {
7037 if (r->netbios_name) {
7038 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7039 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7040 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7041 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7044 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7045 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7046 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7047 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7050 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7051 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7052 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7053 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7055 if (r->computer_dn) {
7056 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7057 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7058 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7059 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7062 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7063 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7064 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7065 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7068 return NDR_ERR_SUCCESS;
7071 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
7073 uint32_t _ptr_netbios_name;
7074 TALLOC_CTX *_mem_save_netbios_name_0;
7075 uint32_t _ptr_dns_name;
7076 TALLOC_CTX *_mem_save_dns_name_0;
7077 uint32_t _ptr_site_name;
7078 TALLOC_CTX *_mem_save_site_name_0;
7079 uint32_t _ptr_computer_dn;
7080 TALLOC_CTX *_mem_save_computer_dn_0;
7081 uint32_t _ptr_server_dn;
7082 TALLOC_CTX *_mem_save_server_dn_0;
7083 if (ndr_flags & NDR_SCALARS) {
7084 NDR_CHECK(ndr_pull_align(ndr, 5));
7085 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7086 if (_ptr_netbios_name) {
7087 NDR_PULL_ALLOC(ndr, r->netbios_name);
7089 r->netbios_name = NULL;
7091 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7092 if (_ptr_dns_name) {
7093 NDR_PULL_ALLOC(ndr, r->dns_name);
7097 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7098 if (_ptr_site_name) {
7099 NDR_PULL_ALLOC(ndr, r->site_name);
7101 r->site_name = NULL;
7103 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7104 if (_ptr_computer_dn) {
7105 NDR_PULL_ALLOC(ndr, r->computer_dn);
7107 r->computer_dn = NULL;
7109 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7110 if (_ptr_server_dn) {
7111 NDR_PULL_ALLOC(ndr, r->server_dn);
7113 r->server_dn = NULL;
7115 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7116 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7117 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7119 if (ndr_flags & NDR_BUFFERS) {
7120 if (r->netbios_name) {
7121 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7122 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7123 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7124 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7125 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7126 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));
7128 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7129 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7130 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7133 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7134 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7135 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7136 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7137 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7138 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));
7140 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7141 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7142 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7145 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7146 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7147 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7148 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7149 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7150 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));
7152 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7153 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7154 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7156 if (r->computer_dn) {
7157 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7158 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7159 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7160 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7161 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7162 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));
7164 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7165 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7169 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7170 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7171 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7172 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7173 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7174 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));
7176 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7177 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7178 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7181 return NDR_ERR_SUCCESS;
7184 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7186 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7188 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7190 if (r->netbios_name) {
7191 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7194 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7197 ndr_print_string(ndr, "dns_name", r->dns_name);
7200 ndr_print_ptr(ndr, "site_name", r->site_name);
7203 ndr_print_string(ndr, "site_name", r->site_name);
7206 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7208 if (r->computer_dn) {
7209 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7212 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7215 ndr_print_string(ndr, "server_dn", r->server_dn);
7218 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7219 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7223 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7225 uint32_t cntr_array_1;
7226 if (ndr_flags & NDR_SCALARS) {
7227 NDR_CHECK(ndr_push_align(ndr, 5));
7228 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7229 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7230 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7232 if (ndr_flags & NDR_BUFFERS) {
7234 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7235 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7236 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7238 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7239 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7243 return NDR_ERR_SUCCESS;
7246 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7248 uint32_t _ptr_array;
7249 uint32_t cntr_array_1;
7250 TALLOC_CTX *_mem_save_array_0;
7251 TALLOC_CTX *_mem_save_array_1;
7252 if (ndr_flags & NDR_SCALARS) {
7253 NDR_CHECK(ndr_pull_align(ndr, 5));
7254 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7255 if (r->count > 10000) {
7256 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7258 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7260 NDR_PULL_ALLOC(ndr, r->array);
7264 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7266 if (ndr_flags & NDR_BUFFERS) {
7268 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7269 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7270 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7271 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7272 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7273 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7274 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7275 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7277 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7278 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7280 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7284 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7287 return NDR_ERR_SUCCESS;
7290 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7292 uint32_t cntr_array_1;
7293 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7295 ndr_print_uint32(ndr, "count", r->count);
7296 ndr_print_ptr(ndr, "array", r->array);
7299 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7301 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7303 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7304 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7314 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7316 if (ndr_flags & NDR_SCALARS) {
7317 NDR_CHECK(ndr_push_align(ndr, 5));
7318 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7319 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7320 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7321 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7322 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7323 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7324 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7325 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7326 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7327 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7328 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7329 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7330 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7331 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7332 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7334 if (ndr_flags & NDR_BUFFERS) {
7335 if (r->netbios_name) {
7336 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7337 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7338 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7339 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7342 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7343 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7344 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7345 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7348 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7349 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7350 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7351 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7354 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7355 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7356 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7357 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7359 if (r->computer_dn) {
7360 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7361 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7362 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7363 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7366 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7367 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7368 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7369 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7372 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7373 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7374 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7375 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7378 return NDR_ERR_SUCCESS;
7381 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7383 uint32_t _ptr_netbios_name;
7384 TALLOC_CTX *_mem_save_netbios_name_0;
7385 uint32_t _ptr_dns_name;
7386 TALLOC_CTX *_mem_save_dns_name_0;
7387 uint32_t _ptr_site_name;
7388 TALLOC_CTX *_mem_save_site_name_0;
7389 uint32_t _ptr_site_dn;
7390 TALLOC_CTX *_mem_save_site_dn_0;
7391 uint32_t _ptr_computer_dn;
7392 TALLOC_CTX *_mem_save_computer_dn_0;
7393 uint32_t _ptr_server_dn;
7394 TALLOC_CTX *_mem_save_server_dn_0;
7395 uint32_t _ptr_ntds_dn;
7396 TALLOC_CTX *_mem_save_ntds_dn_0;
7397 if (ndr_flags & NDR_SCALARS) {
7398 NDR_CHECK(ndr_pull_align(ndr, 5));
7399 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7400 if (_ptr_netbios_name) {
7401 NDR_PULL_ALLOC(ndr, r->netbios_name);
7403 r->netbios_name = NULL;
7405 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7406 if (_ptr_dns_name) {
7407 NDR_PULL_ALLOC(ndr, r->dns_name);
7411 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7412 if (_ptr_site_name) {
7413 NDR_PULL_ALLOC(ndr, r->site_name);
7415 r->site_name = NULL;
7417 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7419 NDR_PULL_ALLOC(ndr, r->site_dn);
7423 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7424 if (_ptr_computer_dn) {
7425 NDR_PULL_ALLOC(ndr, r->computer_dn);
7427 r->computer_dn = NULL;
7429 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7430 if (_ptr_server_dn) {
7431 NDR_PULL_ALLOC(ndr, r->server_dn);
7433 r->server_dn = NULL;
7435 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7437 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7441 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7442 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7443 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7444 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7445 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7446 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7447 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7448 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7450 if (ndr_flags & NDR_BUFFERS) {
7451 if (r->netbios_name) {
7452 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7453 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7454 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7455 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7456 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7457 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));
7459 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7460 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7461 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7464 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7465 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7466 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7467 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7468 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7469 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));
7471 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7472 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7473 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7476 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7477 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7478 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7479 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7480 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7481 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));
7483 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7484 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7488 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7489 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7490 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7491 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7492 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7493 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));
7495 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7496 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7497 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7499 if (r->computer_dn) {
7500 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7501 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7502 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7503 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7504 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7505 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));
7507 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7508 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7509 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7512 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7513 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7514 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7515 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7516 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7517 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));
7519 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7520 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7524 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7525 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7526 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7527 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7528 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7529 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));
7531 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7532 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7533 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7536 return NDR_ERR_SUCCESS;
7539 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7541 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7543 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7545 if (r->netbios_name) {
7546 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7549 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7552 ndr_print_string(ndr, "dns_name", r->dns_name);
7555 ndr_print_ptr(ndr, "site_name", r->site_name);
7558 ndr_print_string(ndr, "site_name", r->site_name);
7561 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7564 ndr_print_string(ndr, "site_dn", r->site_dn);
7567 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7569 if (r->computer_dn) {
7570 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7573 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7576 ndr_print_string(ndr, "server_dn", r->server_dn);
7579 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7582 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7585 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7586 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7587 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7588 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7589 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7590 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7591 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7595 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7597 uint32_t cntr_array_1;
7598 if (ndr_flags & NDR_SCALARS) {
7599 NDR_CHECK(ndr_push_align(ndr, 5));
7600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7601 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7602 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7604 if (ndr_flags & NDR_BUFFERS) {
7606 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7607 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7608 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7610 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7611 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7615 return NDR_ERR_SUCCESS;
7618 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7620 uint32_t _ptr_array;
7621 uint32_t cntr_array_1;
7622 TALLOC_CTX *_mem_save_array_0;
7623 TALLOC_CTX *_mem_save_array_1;
7624 if (ndr_flags & NDR_SCALARS) {
7625 NDR_CHECK(ndr_pull_align(ndr, 5));
7626 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7627 if (r->count > 10000) {
7628 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7630 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7632 NDR_PULL_ALLOC(ndr, r->array);
7636 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7638 if (ndr_flags & NDR_BUFFERS) {
7640 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7641 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7642 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7643 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7644 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7645 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7646 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7647 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7649 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7650 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7653 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7656 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7659 return NDR_ERR_SUCCESS;
7662 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7664 uint32_t cntr_array_1;
7665 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7667 ndr_print_uint32(ndr, "count", r->count);
7668 ndr_print_ptr(ndr, "array", r->array);
7671 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7673 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7675 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7676 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7686 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7688 if (ndr_flags & NDR_SCALARS) {
7689 NDR_CHECK(ndr_push_align(ndr, 5));
7690 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7691 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7692 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7693 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7694 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7695 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7696 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7697 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7698 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7699 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7700 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7701 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7702 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7703 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7704 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7705 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7707 if (ndr_flags & NDR_BUFFERS) {
7708 if (r->netbios_name) {
7709 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7710 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7711 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7712 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7715 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7716 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7717 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7718 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7721 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7722 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7723 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7724 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7727 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7728 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7729 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7730 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7732 if (r->computer_dn) {
7733 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7734 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7735 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7736 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7739 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7740 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7741 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7742 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7745 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7746 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7747 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7748 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7751 return NDR_ERR_SUCCESS;
7754 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
7756 uint32_t _ptr_netbios_name;
7757 TALLOC_CTX *_mem_save_netbios_name_0;
7758 uint32_t _ptr_dns_name;
7759 TALLOC_CTX *_mem_save_dns_name_0;
7760 uint32_t _ptr_site_name;
7761 TALLOC_CTX *_mem_save_site_name_0;
7762 uint32_t _ptr_site_dn;
7763 TALLOC_CTX *_mem_save_site_dn_0;
7764 uint32_t _ptr_computer_dn;
7765 TALLOC_CTX *_mem_save_computer_dn_0;
7766 uint32_t _ptr_server_dn;
7767 TALLOC_CTX *_mem_save_server_dn_0;
7768 uint32_t _ptr_ntds_dn;
7769 TALLOC_CTX *_mem_save_ntds_dn_0;
7770 if (ndr_flags & NDR_SCALARS) {
7771 NDR_CHECK(ndr_pull_align(ndr, 5));
7772 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7773 if (_ptr_netbios_name) {
7774 NDR_PULL_ALLOC(ndr, r->netbios_name);
7776 r->netbios_name = NULL;
7778 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7779 if (_ptr_dns_name) {
7780 NDR_PULL_ALLOC(ndr, r->dns_name);
7784 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7785 if (_ptr_site_name) {
7786 NDR_PULL_ALLOC(ndr, r->site_name);
7788 r->site_name = NULL;
7790 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7792 NDR_PULL_ALLOC(ndr, r->site_dn);
7796 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7797 if (_ptr_computer_dn) {
7798 NDR_PULL_ALLOC(ndr, r->computer_dn);
7800 r->computer_dn = NULL;
7802 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7803 if (_ptr_server_dn) {
7804 NDR_PULL_ALLOC(ndr, r->server_dn);
7806 r->server_dn = NULL;
7808 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7810 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7814 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7815 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7816 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7817 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
7818 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7819 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7820 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7821 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7822 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7824 if (ndr_flags & NDR_BUFFERS) {
7825 if (r->netbios_name) {
7826 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7827 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7828 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7829 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7830 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7831 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));
7833 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7834 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7835 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7838 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7839 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7840 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7841 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7842 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7843 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));
7845 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7846 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7847 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7850 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7851 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7852 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7853 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7854 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7855 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));
7857 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7858 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7859 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7862 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7863 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7864 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7865 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7866 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7867 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));
7869 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7870 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7871 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7873 if (r->computer_dn) {
7874 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7875 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7876 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7877 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7878 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7879 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));
7881 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7882 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7883 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7886 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7887 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7888 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7889 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7890 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7891 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));
7893 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7894 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7895 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7898 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7899 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7900 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7901 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7902 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7903 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));
7905 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7906 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7907 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7910 return NDR_ERR_SUCCESS;
7913 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7915 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7917 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7919 if (r->netbios_name) {
7920 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7923 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7926 ndr_print_string(ndr, "dns_name", r->dns_name);
7929 ndr_print_ptr(ndr, "site_name", r->site_name);
7932 ndr_print_string(ndr, "site_name", r->site_name);
7935 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7938 ndr_print_string(ndr, "site_dn", r->site_dn);
7941 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7943 if (r->computer_dn) {
7944 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7947 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7950 ndr_print_string(ndr, "server_dn", r->server_dn);
7953 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7956 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7959 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7960 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7961 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7962 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
7963 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7964 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7965 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7966 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7970 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
7972 uint32_t cntr_array_1;
7973 if (ndr_flags & NDR_SCALARS) {
7974 NDR_CHECK(ndr_push_align(ndr, 5));
7975 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7976 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7977 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7979 if (ndr_flags & NDR_BUFFERS) {
7981 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7982 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7983 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7985 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7986 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7990 return NDR_ERR_SUCCESS;
7993 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
7995 uint32_t _ptr_array;
7996 uint32_t cntr_array_1;
7997 TALLOC_CTX *_mem_save_array_0;
7998 TALLOC_CTX *_mem_save_array_1;
7999 if (ndr_flags & NDR_SCALARS) {
8000 NDR_CHECK(ndr_pull_align(ndr, 5));
8001 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8002 if (r->count > 10000) {
8003 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8005 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8007 NDR_PULL_ALLOC(ndr, r->array);
8011 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8013 if (ndr_flags & NDR_BUFFERS) {
8015 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8016 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8017 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8018 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8019 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8020 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8021 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8022 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8024 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8025 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8027 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8031 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8034 return NDR_ERR_SUCCESS;
8037 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
8039 uint32_t cntr_array_1;
8040 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
8042 ndr_print_uint32(ndr, "count", r->count);
8043 ndr_print_ptr(ndr, "array", r->array);
8046 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8048 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8050 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8051 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
8061 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
8063 if (ndr_flags & NDR_SCALARS) {
8064 NDR_CHECK(ndr_push_align(ndr, 5));
8066 uint32_t _flags_save_ipv4address = ndr->flags;
8067 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8068 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
8069 ndr->flags = _flags_save_ipv4address;
8071 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8072 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
8073 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
8074 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
8075 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
8076 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
8077 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8079 if (ndr_flags & NDR_BUFFERS) {
8080 if (r->client_account) {
8081 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8082 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8083 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8084 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8087 return NDR_ERR_SUCCESS;
8090 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
8092 uint32_t _ptr_client_account;
8093 TALLOC_CTX *_mem_save_client_account_0;
8094 if (ndr_flags & NDR_SCALARS) {
8095 NDR_CHECK(ndr_pull_align(ndr, 5));
8097 uint32_t _flags_save_ipv4address = ndr->flags;
8098 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8099 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
8100 ndr->flags = _flags_save_ipv4address;
8102 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8103 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
8104 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
8105 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
8106 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
8107 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
8108 if (_ptr_client_account) {
8109 NDR_PULL_ALLOC(ndr, r->client_account);
8111 r->client_account = NULL;
8113 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8115 if (ndr_flags & NDR_BUFFERS) {
8116 if (r->client_account) {
8117 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
8118 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
8119 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
8120 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
8121 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
8122 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));
8124 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
8125 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
8126 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
8129 return NDR_ERR_SUCCESS;
8132 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
8134 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8136 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8137 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8138 ndr_print_uint32(ndr, "connection_time", r->connection_time);
8139 ndr_print_uint32(ndr, "unknown4", r->unknown4);
8140 ndr_print_uint32(ndr, "unknown5", r->unknown5);
8141 ndr_print_uint32(ndr, "unknown6", r->unknown6);
8142 ndr_print_ptr(ndr, "client_account", r->client_account);
8144 if (r->client_account) {
8145 ndr_print_string(ndr, "client_account", r->client_account);
8151 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8153 uint32_t cntr_array_1;
8154 if (ndr_flags & NDR_SCALARS) {
8155 NDR_CHECK(ndr_push_align(ndr, 5));
8156 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8157 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8158 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8160 if (ndr_flags & NDR_BUFFERS) {
8162 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8163 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8164 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8166 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8167 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8171 return NDR_ERR_SUCCESS;
8174 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8176 uint32_t _ptr_array;
8177 uint32_t cntr_array_1;
8178 TALLOC_CTX *_mem_save_array_0;
8179 TALLOC_CTX *_mem_save_array_1;
8180 if (ndr_flags & NDR_SCALARS) {
8181 NDR_CHECK(ndr_pull_align(ndr, 5));
8182 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8183 if (r->count > 10000) {
8184 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8186 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8188 NDR_PULL_ALLOC(ndr, r->array);
8192 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8194 if (ndr_flags & NDR_BUFFERS) {
8196 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8197 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8198 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8199 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8200 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8201 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8202 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8203 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8205 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8206 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8208 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8212 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8215 return NDR_ERR_SUCCESS;
8218 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8220 uint32_t cntr_array_1;
8221 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8223 ndr_print_uint32(ndr, "count", r->count);
8224 ndr_print_ptr(ndr, "array", r->array);
8227 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8229 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8231 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8232 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8242 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8244 if (ndr_flags & NDR_SCALARS) {
8245 int level = ndr_push_get_switch_value(ndr, r);
8246 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8247 NDR_CHECK(ndr_push_union_align(ndr, 5));
8249 case DRSUAPI_DC_INFO_CTR_1: {
8250 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8253 case DRSUAPI_DC_INFO_CTR_2: {
8254 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8257 case DRSUAPI_DC_INFO_CTR_3: {
8258 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8261 case DRSUAPI_DC_CONNECTION_CTR_01: {
8262 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8266 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8269 if (ndr_flags & NDR_BUFFERS) {
8270 int level = ndr_push_get_switch_value(ndr, r);
8272 case DRSUAPI_DC_INFO_CTR_1:
8273 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8276 case DRSUAPI_DC_INFO_CTR_2:
8277 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8280 case DRSUAPI_DC_INFO_CTR_3:
8281 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8284 case DRSUAPI_DC_CONNECTION_CTR_01:
8285 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8289 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8292 return NDR_ERR_SUCCESS;
8295 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8299 level = ndr_pull_get_switch_value(ndr, r);
8300 if (ndr_flags & NDR_SCALARS) {
8301 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8302 if (_level != level) {
8303 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8305 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8307 case DRSUAPI_DC_INFO_CTR_1: {
8308 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8311 case DRSUAPI_DC_INFO_CTR_2: {
8312 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8315 case DRSUAPI_DC_INFO_CTR_3: {
8316 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8319 case DRSUAPI_DC_CONNECTION_CTR_01: {
8320 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8324 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8327 if (ndr_flags & NDR_BUFFERS) {
8329 case DRSUAPI_DC_INFO_CTR_1:
8330 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8333 case DRSUAPI_DC_INFO_CTR_2:
8334 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8337 case DRSUAPI_DC_INFO_CTR_3:
8338 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8341 case DRSUAPI_DC_CONNECTION_CTR_01:
8342 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8346 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8349 return NDR_ERR_SUCCESS;
8352 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
8355 level = ndr_print_get_switch_value(ndr, r);
8356 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
8358 case DRSUAPI_DC_INFO_CTR_1:
8359 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
8362 case DRSUAPI_DC_INFO_CTR_2:
8363 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
8366 case DRSUAPI_DC_INFO_CTR_3:
8367 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
8370 case DRSUAPI_DC_CONNECTION_CTR_01:
8371 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
8375 ndr_print_bad_level(ndr, name, level);
8379 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
8381 if (ndr_flags & NDR_SCALARS) {
8382 NDR_CHECK(ndr_push_align(ndr, 5));
8383 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
8384 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8385 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8387 if (ndr_flags & NDR_BUFFERS) {
8388 if (r->next_object) {
8389 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8391 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8393 return NDR_ERR_SUCCESS;
8396 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8398 uint32_t _ptr_next_object;
8399 TALLOC_CTX *_mem_save_next_object_0;
8400 if (ndr_flags & NDR_SCALARS) {
8401 NDR_CHECK(ndr_pull_align(ndr, 5));
8402 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8403 if (_ptr_next_object) {
8404 NDR_PULL_ALLOC(ndr, r->next_object);
8406 r->next_object = NULL;
8408 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8409 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8411 if (ndr_flags & NDR_BUFFERS) {
8412 if (r->next_object) {
8413 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8414 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8415 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8416 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8418 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8420 return NDR_ERR_SUCCESS;
8423 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8425 if (ndr_flags & NDR_SCALARS) {
8426 NDR_CHECK(ndr_push_align(ndr, 5));
8427 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8428 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8430 if (ndr_flags & NDR_BUFFERS) {
8431 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8433 return NDR_ERR_SUCCESS;
8436 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8438 if (ndr_flags & NDR_SCALARS) {
8439 NDR_CHECK(ndr_pull_align(ndr, 5));
8440 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8441 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8443 if (ndr_flags & NDR_BUFFERS) {
8444 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8446 return NDR_ERR_SUCCESS;
8449 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8451 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8453 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8457 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
8459 if (ndr_flags & NDR_SCALARS) {
8460 int level = ndr_push_get_switch_value(ndr, r);
8461 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8462 NDR_CHECK(ndr_push_union_align(ndr, 5));
8465 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8469 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8472 if (ndr_flags & NDR_BUFFERS) {
8473 int level = ndr_push_get_switch_value(ndr, r);
8476 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8480 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8483 return NDR_ERR_SUCCESS;
8486 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
8490 level = ndr_pull_get_switch_value(ndr, r);
8491 if (ndr_flags & NDR_SCALARS) {
8492 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8493 if (_level != level) {
8494 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8496 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8499 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8503 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8506 if (ndr_flags & NDR_BUFFERS) {
8509 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8513 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8516 return NDR_ERR_SUCCESS;
8519 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
8522 level = ndr_print_get_switch_value(ndr, r);
8523 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
8526 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
8530 ndr_print_bad_level(ndr, name, level);
8534 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
8536 if (ndr_flags & NDR_SCALARS) {
8537 NDR_CHECK(ndr_push_align(ndr, 4));
8538 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8539 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8540 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8541 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
8542 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8544 if (ndr_flags & NDR_BUFFERS) {
8546 return NDR_ERR_SUCCESS;
8549 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
8551 if (ndr_flags & NDR_SCALARS) {
8552 NDR_CHECK(ndr_pull_align(ndr, 4));
8553 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8554 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8555 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8556 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
8557 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8559 if (ndr_flags & NDR_BUFFERS) {
8561 return NDR_ERR_SUCCESS;
8564 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
8566 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
8568 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8569 ndr_print_WERROR(ndr, "status", r->status);
8570 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8571 ndr_print_uint16(ndr, "unknown3", r->unknown3);
8575 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8577 if (ndr_flags & NDR_SCALARS) {
8578 NDR_CHECK(ndr_push_align(ndr, 5));
8579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8580 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8581 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8583 if (ndr_flags & NDR_BUFFERS) {
8585 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
8586 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
8589 return NDR_ERR_SUCCESS;
8592 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8595 TALLOC_CTX *_mem_save_data_0;
8596 if (ndr_flags & NDR_SCALARS) {
8597 NDR_CHECK(ndr_pull_align(ndr, 5));
8598 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8599 if (r->size > 10485760) {
8600 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8602 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8604 NDR_PULL_ALLOC(ndr, r->data);
8608 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8610 if (ndr_flags & NDR_BUFFERS) {
8612 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8613 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8614 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
8615 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
8616 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
8617 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8620 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
8623 return NDR_ERR_SUCCESS;
8626 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8628 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
8630 ndr_print_uint32(ndr, "size", r->size);
8631 ndr_print_ptr(ndr, "data", r->data);
8634 ndr_print_array_uint8(ndr, "data", r->data, r->size);
8640 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
8642 if (ndr_flags & NDR_SCALARS) {
8643 NDR_CHECK(ndr_push_align(ndr, 5));
8644 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8645 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
8646 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8647 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8648 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8650 if (ndr_flags & NDR_BUFFERS) {
8651 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8653 return NDR_ERR_SUCCESS;
8656 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
8658 if (ndr_flags & NDR_SCALARS) {
8659 NDR_CHECK(ndr_pull_align(ndr, 5));
8660 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8661 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
8662 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8663 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8664 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8666 if (ndr_flags & NDR_BUFFERS) {
8667 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8669 return NDR_ERR_SUCCESS;
8672 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
8674 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
8676 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8677 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
8678 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8679 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
8683 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8685 if (ndr_flags & NDR_SCALARS) {
8686 NDR_CHECK(ndr_push_align(ndr, 5));
8687 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
8688 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8689 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8691 if (ndr_flags & NDR_BUFFERS) {
8693 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8695 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8697 return NDR_ERR_SUCCESS;
8700 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
8703 TALLOC_CTX *_mem_save_next_0;
8704 if (ndr_flags & NDR_SCALARS) {
8705 NDR_CHECK(ndr_pull_align(ndr, 5));
8706 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
8708 NDR_PULL_ALLOC(ndr, r->next);
8712 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8713 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8715 if (ndr_flags & NDR_BUFFERS) {
8717 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
8718 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
8719 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8720 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
8722 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8724 return NDR_ERR_SUCCESS;
8727 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8729 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
8731 ndr_print_ptr(ndr, "next", r->next);
8734 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
8737 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
8741 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8743 if (ndr_flags & NDR_SCALARS) {
8744 NDR_CHECK(ndr_push_align(ndr, 5));
8745 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8746 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8747 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8748 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8750 if (ndr_flags & NDR_BUFFERS) {
8752 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8754 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8756 return NDR_ERR_SUCCESS;
8759 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
8762 TALLOC_CTX *_mem_save_id_0;
8763 if (ndr_flags & NDR_SCALARS) {
8764 NDR_CHECK(ndr_pull_align(ndr, 5));
8765 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8767 NDR_PULL_ALLOC(ndr, r->id);
8771 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8772 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8773 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8775 if (ndr_flags & NDR_BUFFERS) {
8777 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8778 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8779 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8780 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8782 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8784 return NDR_ERR_SUCCESS;
8787 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8789 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
8791 ndr_print_ptr(ndr, "id", r->id);
8794 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8797 ndr_print_WERROR(ndr, "status", r->status);
8798 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
8802 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
8804 if (ndr_flags & NDR_SCALARS) {
8805 int level = ndr_push_get_switch_value(ndr, r);
8806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8807 NDR_CHECK(ndr_push_union_align(ndr, 5));
8810 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8814 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8818 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8822 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8826 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8830 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8833 if (ndr_flags & NDR_BUFFERS) {
8834 int level = ndr_push_get_switch_value(ndr, r);
8837 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8853 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8856 return NDR_ERR_SUCCESS;
8859 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
8863 level = ndr_pull_get_switch_value(ndr, r);
8864 if (ndr_flags & NDR_SCALARS) {
8865 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8866 if (_level != level) {
8867 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8869 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8872 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8876 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8880 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8884 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8888 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8892 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8895 if (ndr_flags & NDR_BUFFERS) {
8898 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8914 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8917 return NDR_ERR_SUCCESS;
8920 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
8923 level = ndr_print_get_switch_value(ndr, r);
8924 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
8927 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
8931 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8935 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8939 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8943 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8947 ndr_print_bad_level(ndr, name, level);
8951 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
8953 if (ndr_flags & NDR_SCALARS) {
8954 NDR_CHECK(ndr_push_align(ndr, 5));
8955 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8956 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8957 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8958 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8960 if (ndr_flags & NDR_BUFFERS) {
8962 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
8963 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8966 return NDR_ERR_SUCCESS;
8969 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
8972 TALLOC_CTX *_mem_save_info_0;
8973 if (ndr_flags & NDR_SCALARS) {
8974 NDR_CHECK(ndr_pull_align(ndr, 5));
8975 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8976 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
8977 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8979 NDR_PULL_ALLOC(ndr, r->info);
8983 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8985 if (ndr_flags & NDR_BUFFERS) {
8987 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8988 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8989 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
8990 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8991 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8994 return NDR_ERR_SUCCESS;
8997 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
8999 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
9001 ndr_print_WERROR(ndr, "status", r->status);
9002 ndr_print_uint32(ndr, "level", r->level);
9003 ndr_print_ptr(ndr, "info", r->info);
9006 ndr_print_set_switch_value(ndr, r->info, r->level);
9007 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
9013 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
9015 if (ndr_flags & NDR_SCALARS) {
9016 int level = ndr_push_get_switch_value(ndr, r);
9017 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9018 NDR_CHECK(ndr_push_union_align(ndr, 5));
9021 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
9025 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9028 if (ndr_flags & NDR_BUFFERS) {
9029 int level = ndr_push_get_switch_value(ndr, r);
9032 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
9036 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9039 return NDR_ERR_SUCCESS;
9042 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
9046 level = ndr_pull_get_switch_value(ndr, r);
9047 if (ndr_flags & NDR_SCALARS) {
9048 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9049 if (_level != level) {
9050 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9052 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9055 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
9059 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9062 if (ndr_flags & NDR_BUFFERS) {
9065 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
9069 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9072 return NDR_ERR_SUCCESS;
9075 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
9078 level = ndr_print_get_switch_value(ndr, r);
9079 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
9082 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
9086 ndr_print_bad_level(ndr, name, level);
9090 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9092 if (ndr_flags & NDR_SCALARS) {
9093 NDR_CHECK(ndr_push_align(ndr, 4));
9094 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
9095 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9096 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9098 if (ndr_flags & NDR_BUFFERS) {
9099 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9101 return NDR_ERR_SUCCESS;
9104 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
9106 if (ndr_flags & NDR_SCALARS) {
9107 NDR_CHECK(ndr_pull_align(ndr, 4));
9108 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
9109 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9110 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9112 if (ndr_flags & NDR_BUFFERS) {
9113 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9115 return NDR_ERR_SUCCESS;
9118 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9120 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
9122 ndr_print_GUID(ndr, "guid", &r->guid);
9123 ndr_print_dom_sid28(ndr, "sid", &r->sid);
9127 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
9129 uint32_t cntr_objects_1;
9130 if (ndr_flags & NDR_SCALARS) {
9131 NDR_CHECK(ndr_push_align(ndr, 5));
9132 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9134 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9136 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9137 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9139 if (ndr_flags & NDR_BUFFERS) {
9141 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9144 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9145 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9146 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9148 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9149 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9153 return NDR_ERR_SUCCESS;
9156 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
9159 TALLOC_CTX *_mem_save_id_0;
9160 uint32_t _ptr_objects;
9161 uint32_t cntr_objects_1;
9162 TALLOC_CTX *_mem_save_objects_0;
9163 TALLOC_CTX *_mem_save_objects_1;
9164 if (ndr_flags & NDR_SCALARS) {
9165 NDR_CHECK(ndr_pull_align(ndr, 5));
9166 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9168 NDR_PULL_ALLOC(ndr, r->id);
9172 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9173 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9174 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9175 if (r->count > 10000) {
9176 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9178 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9180 NDR_PULL_ALLOC(ndr, r->objects);
9184 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9186 if (ndr_flags & NDR_BUFFERS) {
9188 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9189 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9190 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9194 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9195 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9196 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9197 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9198 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9199 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9200 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9201 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9203 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9204 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9207 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9210 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9213 return NDR_ERR_SUCCESS;
9216 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
9218 uint32_t cntr_objects_1;
9219 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
9221 ndr_print_ptr(ndr, "id", r->id);
9224 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9227 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9228 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
9229 ndr_print_uint32(ndr, "count", r->count);
9230 ndr_print_ptr(ndr, "objects", r->objects);
9233 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9235 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9237 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9238 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9248 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
9250 uint32_t cntr_objects_1;
9251 if (ndr_flags & NDR_SCALARS) {
9252 NDR_CHECK(ndr_push_align(ndr, 5));
9253 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9254 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
9255 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
9256 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9257 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9258 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9260 if (ndr_flags & NDR_BUFFERS) {
9262 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9265 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
9266 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9269 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9270 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9271 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9273 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9274 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9278 return NDR_ERR_SUCCESS;
9281 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
9284 TALLOC_CTX *_mem_save_id_0;
9285 uint32_t _ptr_error;
9286 TALLOC_CTX *_mem_save_error_0;
9287 uint32_t _ptr_objects;
9288 uint32_t cntr_objects_1;
9289 TALLOC_CTX *_mem_save_objects_0;
9290 TALLOC_CTX *_mem_save_objects_1;
9291 if (ndr_flags & NDR_SCALARS) {
9292 NDR_CHECK(ndr_pull_align(ndr, 5));
9293 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9295 NDR_PULL_ALLOC(ndr, r->id);
9299 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9300 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
9302 NDR_PULL_ALLOC(ndr, r->error);
9306 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9307 if (r->count > 10000) {
9308 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9310 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9312 NDR_PULL_ALLOC(ndr, r->objects);
9316 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9318 if (ndr_flags & NDR_BUFFERS) {
9320 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9321 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9322 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9323 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9326 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
9327 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
9328 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
9329 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9330 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
9333 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9334 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9335 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9336 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9337 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9338 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9339 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9340 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9342 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9343 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9345 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9346 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9349 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9352 return NDR_ERR_SUCCESS;
9355 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
9357 uint32_t cntr_objects_1;
9358 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
9360 ndr_print_ptr(ndr, "id", r->id);
9363 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9366 ndr_print_uint32(ndr, "level", r->level);
9367 ndr_print_ptr(ndr, "error", r->error);
9370 ndr_print_set_switch_value(ndr, r->error, r->level);
9371 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
9374 ndr_print_uint32(ndr, "count", r->count);
9375 ndr_print_ptr(ndr, "objects", r->objects);
9378 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9380 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9382 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9383 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9393 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
9395 if (ndr_flags & NDR_SCALARS) {
9396 int level = ndr_push_get_switch_value(ndr, r);
9397 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
9398 NDR_CHECK(ndr_push_union_align(ndr, 5));
9401 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9405 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9409 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9412 if (ndr_flags & NDR_BUFFERS) {
9413 int level = ndr_push_get_switch_value(ndr, r);
9416 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9420 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9424 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9427 return NDR_ERR_SUCCESS;
9430 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
9434 level = ndr_pull_get_switch_value(ndr, r);
9435 if (ndr_flags & NDR_SCALARS) {
9436 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
9437 if (_level != level) {
9438 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9440 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9443 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9447 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9451 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9454 if (ndr_flags & NDR_BUFFERS) {
9457 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9461 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9465 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9468 return NDR_ERR_SUCCESS;
9471 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
9474 level = ndr_print_get_switch_value(ndr, r);
9475 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
9478 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
9482 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
9486 ndr_print_bad_level(ndr, name, level);
9490 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9492 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9493 return NDR_ERR_SUCCESS;
9496 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9499 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9501 return NDR_ERR_SUCCESS;
9504 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
9506 ndr_print_uint32(ndr, name, r);
9508 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
9509 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
9513 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
9515 if (ndr_flags & NDR_SCALARS) {
9516 NDR_CHECK(ndr_push_align(ndr, 4));
9517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
9518 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
9519 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9521 if (ndr_flags & NDR_BUFFERS) {
9523 return NDR_ERR_SUCCESS;
9526 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
9528 if (ndr_flags & NDR_SCALARS) {
9529 NDR_CHECK(ndr_pull_align(ndr, 4));
9530 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
9531 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
9532 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9534 if (ndr_flags & NDR_BUFFERS) {
9536 return NDR_ERR_SUCCESS;
9539 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
9541 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
9543 ndr_print_uint32(ndr, "taskID", r->taskID);
9544 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
9548 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
9550 if (ndr_flags & NDR_SCALARS) {
9551 int level = ndr_push_get_switch_value(ndr, r);
9552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9553 NDR_CHECK(ndr_push_union_align(ndr, 4));
9556 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9560 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9563 if (ndr_flags & NDR_BUFFERS) {
9564 int level = ndr_push_get_switch_value(ndr, r);
9570 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9573 return NDR_ERR_SUCCESS;
9576 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
9580 level = ndr_pull_get_switch_value(ndr, r);
9581 if (ndr_flags & NDR_SCALARS) {
9582 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9583 if (_level != level) {
9584 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9586 NDR_CHECK(ndr_pull_union_align(ndr, 4));
9589 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9593 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9596 if (ndr_flags & NDR_BUFFERS) {
9602 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9605 return NDR_ERR_SUCCESS;
9608 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
9611 level = ndr_print_get_switch_value(ndr, r);
9612 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
9615 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
9619 ndr_print_bad_level(ndr, name, level);
9623 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
9625 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9626 return NDR_ERR_SUCCESS;
9629 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
9632 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9634 return NDR_ERR_SUCCESS;
9637 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
9639 const char *val = NULL;
9642 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9643 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9645 ndr_print_enum(ndr, name, "ENUM", val, r);
9648 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
9650 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9651 return NDR_ERR_SUCCESS;
9654 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
9657 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9659 return NDR_ERR_SUCCESS;
9662 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
9664 const char *val = NULL;
9667 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9668 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9669 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9670 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9671 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9672 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9673 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9674 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9675 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9676 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9677 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9678 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
9679 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: val = "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
9680 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
9681 case DRSUAPI_DS_REPLICA_INFO_06: val = "DRSUAPI_DS_REPLICA_INFO_06"; break;
9683 ndr_print_enum(ndr, name, "ENUM", val, r);
9686 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9688 if (ndr_flags & NDR_SCALARS) {
9689 NDR_CHECK(ndr_push_align(ndr, 5));
9690 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9691 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9692 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9693 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9695 if (ndr_flags & NDR_BUFFERS) {
9697 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9698 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9699 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9700 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9703 return NDR_ERR_SUCCESS;
9706 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
9708 uint32_t _ptr_object_dn;
9709 TALLOC_CTX *_mem_save_object_dn_0;
9710 if (ndr_flags & NDR_SCALARS) {
9711 NDR_CHECK(ndr_pull_align(ndr, 5));
9712 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9713 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9714 if (_ptr_object_dn) {
9715 NDR_PULL_ALLOC(ndr, r->object_dn);
9717 r->object_dn = NULL;
9719 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9720 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9722 if (ndr_flags & NDR_BUFFERS) {
9724 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9725 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9726 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9727 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9728 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9729 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));
9731 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9732 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9733 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9736 return NDR_ERR_SUCCESS;
9739 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9741 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
9743 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9744 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9747 ndr_print_string(ndr, "object_dn", r->object_dn);
9750 ndr_print_GUID(ndr, "guid1", &r->guid1);
9754 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9756 if (ndr_flags & NDR_SCALARS) {
9757 NDR_CHECK(ndr_push_align(ndr, 5));
9758 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9759 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9760 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9762 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string1));
9763 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string2));
9764 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
9765 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9767 if (ndr_flags & NDR_BUFFERS) {
9769 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9770 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9771 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9772 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9775 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9776 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9777 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9778 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string1, ndr_charset_length(r->string1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9781 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9782 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9783 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9784 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string2, ndr_charset_length(r->string2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9787 return NDR_ERR_SUCCESS;
9790 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
9792 uint32_t _ptr_object_dn;
9793 TALLOC_CTX *_mem_save_object_dn_0;
9794 uint32_t _ptr_string1;
9795 TALLOC_CTX *_mem_save_string1_0;
9796 uint32_t _ptr_string2;
9797 TALLOC_CTX *_mem_save_string2_0;
9798 if (ndr_flags & NDR_SCALARS) {
9799 NDR_CHECK(ndr_pull_align(ndr, 5));
9800 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9801 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9802 if (_ptr_object_dn) {
9803 NDR_PULL_ALLOC(ndr, r->object_dn);
9805 r->object_dn = NULL;
9807 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9808 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9809 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string1));
9811 NDR_PULL_ALLOC(ndr, r->string1);
9815 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string2));
9817 NDR_PULL_ALLOC(ndr, r->string2);
9821 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
9822 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9824 if (ndr_flags & NDR_BUFFERS) {
9826 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9827 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9828 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9829 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9830 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9831 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));
9833 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9834 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9835 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9838 _mem_save_string1_0 = NDR_PULL_GET_MEM_CTX(ndr);
9839 NDR_PULL_SET_MEM_CTX(ndr, r->string1, 0);
9840 NDR_CHECK(ndr_pull_array_size(ndr, &r->string1));
9841 NDR_CHECK(ndr_pull_array_length(ndr, &r->string1));
9842 if (ndr_get_array_length(ndr, &r->string1) > ndr_get_array_size(ndr, &r->string1)) {
9843 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));
9845 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t)));
9846 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string1, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t), CH_UTF16));
9847 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string1_0, 0);
9850 _mem_save_string2_0 = NDR_PULL_GET_MEM_CTX(ndr);
9851 NDR_PULL_SET_MEM_CTX(ndr, r->string2, 0);
9852 NDR_CHECK(ndr_pull_array_size(ndr, &r->string2));
9853 NDR_CHECK(ndr_pull_array_length(ndr, &r->string2));
9854 if (ndr_get_array_length(ndr, &r->string2) > ndr_get_array_size(ndr, &r->string2)) {
9855 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));
9857 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t)));
9858 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string2, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t), CH_UTF16));
9859 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string2_0, 0);
9862 return NDR_ERR_SUCCESS;
9865 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9867 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
9869 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9870 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9873 ndr_print_string(ndr, "object_dn", r->object_dn);
9876 ndr_print_GUID(ndr, "guid1", &r->guid1);
9877 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9878 ndr_print_ptr(ndr, "string1", r->string1);
9881 ndr_print_string(ndr, "string1", r->string1);
9884 ndr_print_ptr(ndr, "string2", r->string2);
9887 ndr_print_string(ndr, "string2", r->string2);
9890 ndr_print_uint32(ndr, "unknown2", r->unknown2);
9894 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
9896 if (ndr_flags & NDR_SCALARS) {
9897 int level = ndr_push_get_switch_value(ndr, r);
9898 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
9899 NDR_CHECK(ndr_push_union_align(ndr, 5));
9901 case DRSUAPI_DS_REPLICA_GET_INFO: {
9902 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9905 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9906 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9910 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9913 if (ndr_flags & NDR_BUFFERS) {
9914 int level = ndr_push_get_switch_value(ndr, r);
9916 case DRSUAPI_DS_REPLICA_GET_INFO:
9917 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9920 case DRSUAPI_DS_REPLICA_GET_INFO2:
9921 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9925 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9928 return NDR_ERR_SUCCESS;
9931 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
9935 level = ndr_pull_get_switch_value(ndr, r);
9936 if (ndr_flags & NDR_SCALARS) {
9937 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9938 if (_level != level) {
9939 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9941 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9943 case DRSUAPI_DS_REPLICA_GET_INFO: {
9944 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9947 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9948 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9952 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9955 if (ndr_flags & NDR_BUFFERS) {
9957 case DRSUAPI_DS_REPLICA_GET_INFO:
9958 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9961 case DRSUAPI_DS_REPLICA_GET_INFO2:
9962 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9966 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9969 return NDR_ERR_SUCCESS;
9972 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
9975 level = ndr_print_get_switch_value(ndr, r);
9976 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
9978 case DRSUAPI_DS_REPLICA_GET_INFO:
9979 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
9982 case DRSUAPI_DS_REPLICA_GET_INFO2:
9983 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
9987 ndr_print_bad_level(ndr, name, level);
9991 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
9993 if (ndr_flags & NDR_SCALARS) {
9994 NDR_CHECK(ndr_push_align(ndr, 8));
9995 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
9996 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
9997 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
9998 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
9999 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
10000 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10001 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
10002 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
10003 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10004 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
10005 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
10006 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
10007 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
10008 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
10009 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
10010 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
10011 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10013 if (ndr_flags & NDR_BUFFERS) {
10014 if (r->naming_context_dn) {
10015 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
10016 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10017 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
10018 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));
10020 if (r->source_dsa_obj_dn) {
10021 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10022 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10023 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10024 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));
10026 if (r->source_dsa_address) {
10027 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
10028 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10029 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
10030 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));
10032 if (r->transport_obj_dn) {
10033 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
10034 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10035 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
10036 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));
10039 return NDR_ERR_SUCCESS;
10042 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
10044 uint32_t _ptr_naming_context_dn;
10045 TALLOC_CTX *_mem_save_naming_context_dn_0;
10046 uint32_t _ptr_source_dsa_obj_dn;
10047 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
10048 uint32_t _ptr_source_dsa_address;
10049 TALLOC_CTX *_mem_save_source_dsa_address_0;
10050 uint32_t _ptr_transport_obj_dn;
10051 TALLOC_CTX *_mem_save_transport_obj_dn_0;
10052 if (ndr_flags & NDR_SCALARS) {
10053 NDR_CHECK(ndr_pull_align(ndr, 8));
10054 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
10055 if (_ptr_naming_context_dn) {
10056 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
10058 r->naming_context_dn = NULL;
10060 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
10061 if (_ptr_source_dsa_obj_dn) {
10062 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
10064 r->source_dsa_obj_dn = NULL;
10066 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
10067 if (_ptr_source_dsa_address) {
10068 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
10070 r->source_dsa_address = NULL;
10072 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
10073 if (_ptr_transport_obj_dn) {
10074 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
10076 r->transport_obj_dn = NULL;
10078 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
10079 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10080 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
10081 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
10082 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10083 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
10084 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
10085 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
10086 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
10087 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
10088 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
10089 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
10090 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10092 if (ndr_flags & NDR_BUFFERS) {
10093 if (r->naming_context_dn) {
10094 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10095 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
10096 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
10097 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
10098 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
10099 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));
10101 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
10102 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));
10103 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
10105 if (r->source_dsa_obj_dn) {
10106 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10107 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
10108 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
10109 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
10110 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
10111 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));
10113 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
10114 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));
10115 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10117 if (r->source_dsa_address) {
10118 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10119 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
10120 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
10121 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
10122 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
10123 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));
10125 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
10126 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));
10127 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
10129 if (r->transport_obj_dn) {
10130 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10131 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
10132 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
10133 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
10134 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
10135 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));
10137 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
10138 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));
10139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
10142 return NDR_ERR_SUCCESS;
10145 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
10147 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
10149 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
10151 if (r->naming_context_dn) {
10152 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
10155 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10157 if (r->source_dsa_obj_dn) {
10158 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10161 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
10163 if (r->source_dsa_address) {
10164 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
10167 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
10169 if (r->transport_obj_dn) {
10170 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
10173 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
10174 ndr_print_uint32(ndr, "reserved", r->reserved);
10175 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
10176 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
10177 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10178 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
10179 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
10180 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10181 ndr_print_NTTIME(ndr, "last_success", r->last_success);
10182 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
10183 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
10184 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
10188 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
10190 uint32_t cntr_array_0;
10191 if (ndr_flags & NDR_SCALARS) {
10192 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10193 NDR_CHECK(ndr_push_align(ndr, 8));
10194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10196 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10197 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10199 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10201 if (ndr_flags & NDR_BUFFERS) {
10202 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10203 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10206 return NDR_ERR_SUCCESS;
10209 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
10211 uint32_t cntr_array_0;
10212 TALLOC_CTX *_mem_save_array_0;
10213 if (ndr_flags & NDR_SCALARS) {
10214 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10215 NDR_CHECK(ndr_pull_align(ndr, 8));
10216 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10217 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10218 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10219 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10220 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10221 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10222 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10224 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10226 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10228 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10230 if (ndr_flags & NDR_BUFFERS) {
10231 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10232 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10233 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10234 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10236 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10238 return NDR_ERR_SUCCESS;
10241 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
10243 uint32_t cntr_array_0;
10244 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
10246 ndr_print_uint32(ndr, "count", r->count);
10247 ndr_print_uint32(ndr, "reserved", r->reserved);
10248 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10250 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10252 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10253 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
10261 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
10263 uint32_t cntr_array_0;
10264 if (ndr_flags & NDR_SCALARS) {
10265 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10266 NDR_CHECK(ndr_push_align(ndr, 8));
10267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10268 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10269 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10270 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10272 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10274 if (ndr_flags & NDR_BUFFERS) {
10276 return NDR_ERR_SUCCESS;
10279 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
10281 uint32_t cntr_array_0;
10282 TALLOC_CTX *_mem_save_array_0;
10283 if (ndr_flags & NDR_SCALARS) {
10284 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10285 NDR_CHECK(ndr_pull_align(ndr, 8));
10286 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10287 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10288 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10289 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10290 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10291 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10292 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10294 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10296 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10298 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10300 if (ndr_flags & NDR_BUFFERS) {
10302 return NDR_ERR_SUCCESS;
10305 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
10307 uint32_t cntr_array_0;
10308 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
10310 ndr_print_uint32(ndr, "count", r->count);
10311 ndr_print_uint32(ndr, "reserved", r->reserved);
10312 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10314 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10316 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10317 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
10325 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
10327 if (ndr_flags & NDR_SCALARS) {
10328 NDR_CHECK(ndr_push_align(ndr, 8));
10329 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10331 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10332 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10333 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10334 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10335 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10337 if (ndr_flags & NDR_BUFFERS) {
10338 if (r->attribute_name) {
10339 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10340 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10341 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10342 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10345 return NDR_ERR_SUCCESS;
10348 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
10350 uint32_t _ptr_attribute_name;
10351 TALLOC_CTX *_mem_save_attribute_name_0;
10352 if (ndr_flags & NDR_SCALARS) {
10353 NDR_CHECK(ndr_pull_align(ndr, 8));
10354 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10355 if (_ptr_attribute_name) {
10356 NDR_PULL_ALLOC(ndr, r->attribute_name);
10358 r->attribute_name = NULL;
10360 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10361 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10362 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10363 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10364 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10365 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10367 if (ndr_flags & NDR_BUFFERS) {
10368 if (r->attribute_name) {
10369 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10370 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10371 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10372 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10373 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10374 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));
10376 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10377 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10378 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10381 return NDR_ERR_SUCCESS;
10384 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
10386 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
10388 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10390 if (r->attribute_name) {
10391 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10394 ndr_print_uint32(ndr, "version", r->version);
10395 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10396 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10397 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10398 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10402 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10404 uint32_t cntr_array_0;
10405 if (ndr_flags & NDR_SCALARS) {
10406 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10407 NDR_CHECK(ndr_push_align(ndr, 8));
10408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10410 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10411 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10413 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10415 if (ndr_flags & NDR_BUFFERS) {
10416 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10417 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10420 return NDR_ERR_SUCCESS;
10423 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
10425 uint32_t cntr_array_0;
10426 TALLOC_CTX *_mem_save_array_0;
10427 if (ndr_flags & NDR_SCALARS) {
10428 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10429 NDR_CHECK(ndr_pull_align(ndr, 8));
10430 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10431 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10432 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10433 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10434 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10435 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10436 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10438 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10440 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10442 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10444 if (ndr_flags & NDR_BUFFERS) {
10445 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10446 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10447 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10448 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10450 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10452 return NDR_ERR_SUCCESS;
10455 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10457 uint32_t cntr_array_0;
10458 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
10460 ndr_print_uint32(ndr, "count", r->count);
10461 ndr_print_uint32(ndr, "reserved", r->reserved);
10462 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10464 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10466 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10467 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
10475 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
10477 if (ndr_flags & NDR_SCALARS) {
10478 NDR_CHECK(ndr_push_align(ndr, 5));
10479 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
10480 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10481 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
10482 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
10483 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
10484 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10486 if (ndr_flags & NDR_BUFFERS) {
10487 if (r->dsa_obj_dn) {
10488 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10489 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10490 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10491 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));
10494 return NDR_ERR_SUCCESS;
10497 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
10499 uint32_t _ptr_dsa_obj_dn;
10500 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
10501 if (ndr_flags & NDR_SCALARS) {
10502 NDR_CHECK(ndr_pull_align(ndr, 5));
10503 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
10504 if (_ptr_dsa_obj_dn) {
10505 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
10507 r->dsa_obj_dn = NULL;
10509 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10510 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
10511 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
10512 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
10513 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10515 if (ndr_flags & NDR_BUFFERS) {
10516 if (r->dsa_obj_dn) {
10517 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10518 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
10519 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
10520 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
10521 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
10522 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));
10524 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
10525 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));
10526 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
10529 return NDR_ERR_SUCCESS;
10532 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
10534 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
10536 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10538 if (r->dsa_obj_dn) {
10539 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10542 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
10543 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
10544 ndr_print_uint32(ndr, "num_failures", r->num_failures);
10545 ndr_print_WERROR(ndr, "last_result", r->last_result);
10549 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10551 uint32_t cntr_array_0;
10552 if (ndr_flags & NDR_SCALARS) {
10553 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10554 NDR_CHECK(ndr_push_align(ndr, 5));
10555 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10556 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10557 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10558 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10560 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10562 if (ndr_flags & NDR_BUFFERS) {
10563 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10564 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10567 return NDR_ERR_SUCCESS;
10570 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10572 uint32_t cntr_array_0;
10573 TALLOC_CTX *_mem_save_array_0;
10574 if (ndr_flags & NDR_SCALARS) {
10575 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10576 NDR_CHECK(ndr_pull_align(ndr, 5));
10577 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10578 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10579 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10580 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10581 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10582 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10583 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10585 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10587 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10589 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10591 if (ndr_flags & NDR_BUFFERS) {
10592 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10593 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10594 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10595 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10597 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10599 return NDR_ERR_SUCCESS;
10602 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10604 uint32_t cntr_array_0;
10605 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
10607 ndr_print_uint32(ndr, "count", r->count);
10608 ndr_print_uint32(ndr, "reserved", r->reserved);
10609 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10611 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10613 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10614 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
10622 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
10624 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
10625 return NDR_ERR_SUCCESS;
10628 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
10631 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
10633 return NDR_ERR_SUCCESS;
10636 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
10638 const char *val = NULL;
10641 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10642 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10643 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10644 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10645 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10647 ndr_print_enum(ndr, name, "ENUM", val, r);
10650 static enum ndr_err_code ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRplicaOpOptions *r)
10652 if (ndr_flags & NDR_SCALARS) {
10653 int level = ndr_push_get_switch_value(ndr, r);
10654 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, level));
10655 NDR_CHECK(ndr_push_union_align(ndr, 4));
10657 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10658 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->sync));
10661 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10662 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->add));
10665 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10666 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->op_delete));
10669 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10670 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->modify));
10673 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10674 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->update_refs));
10678 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
10683 if (ndr_flags & NDR_BUFFERS) {
10684 int level = ndr_push_get_switch_value(ndr, r);
10686 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10689 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10692 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10695 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10698 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10706 return NDR_ERR_SUCCESS;
10709 static enum ndr_err_code ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRplicaOpOptions *r)
10713 level = ndr_pull_get_switch_value(ndr, r);
10714 if (ndr_flags & NDR_SCALARS) {
10715 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
10716 if (_level != level) {
10717 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10719 NDR_CHECK(ndr_pull_union_align(ndr, 4));
10721 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10722 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->sync));
10725 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10726 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->add));
10729 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10730 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->op_delete));
10733 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10734 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->modify));
10737 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10738 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->update_refs));
10742 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
10747 if (ndr_flags & NDR_BUFFERS) {
10749 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10752 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10755 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10758 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10761 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10769 return NDR_ERR_SUCCESS;
10772 _PUBLIC_ void ndr_print_drsuapi_DsRplicaOpOptions(struct ndr_print *ndr, const char *name, const union drsuapi_DsRplicaOpOptions *r)
10775 level = ndr_print_get_switch_value(ndr, r);
10776 ndr_print_union(ndr, name, level, "drsuapi_DsRplicaOpOptions");
10778 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10779 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "sync", r->sync);
10782 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10783 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "add", r->add);
10786 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10787 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "op_delete", r->op_delete);
10790 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10791 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "modify", r->modify);
10794 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10795 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "update_refs", r->update_refs);
10799 ndr_print_uint32(ndr, "unknown", r->unknown);
10805 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
10807 if (ndr_flags & NDR_SCALARS) {
10808 NDR_CHECK(ndr_push_align(ndr, 5));
10809 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
10810 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
10811 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
10812 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
10813 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->options, r->operation_type));
10814 NDR_CHECK(ndr_push_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10815 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
10816 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
10817 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
10818 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10819 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10820 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10822 if (ndr_flags & NDR_BUFFERS) {
10824 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10825 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10826 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10827 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10829 if (r->remote_dsa_obj_dn) {
10830 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10831 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10832 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10833 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));
10835 if (r->remote_dsa_address) {
10836 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10837 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10838 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10839 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));
10842 return NDR_ERR_SUCCESS;
10845 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
10847 uint32_t _ptr_nc_dn;
10848 TALLOC_CTX *_mem_save_nc_dn_0;
10849 uint32_t _ptr_remote_dsa_obj_dn;
10850 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
10851 uint32_t _ptr_remote_dsa_address;
10852 TALLOC_CTX *_mem_save_remote_dsa_address_0;
10853 if (ndr_flags & NDR_SCALARS) {
10854 NDR_CHECK(ndr_pull_align(ndr, 5));
10855 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
10856 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
10857 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
10858 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
10859 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->options, r->operation_type));
10860 NDR_CHECK(ndr_pull_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10861 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
10863 NDR_PULL_ALLOC(ndr, r->nc_dn);
10867 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
10868 if (_ptr_remote_dsa_obj_dn) {
10869 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
10871 r->remote_dsa_obj_dn = NULL;
10873 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
10874 if (_ptr_remote_dsa_address) {
10875 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
10877 r->remote_dsa_address = NULL;
10879 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10880 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10881 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10883 if (ndr_flags & NDR_BUFFERS) {
10885 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10886 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
10887 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
10888 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
10889 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
10890 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));
10892 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
10893 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
10894 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
10896 if (r->remote_dsa_obj_dn) {
10897 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10898 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
10899 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
10900 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
10901 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
10902 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));
10904 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
10905 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));
10906 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
10908 if (r->remote_dsa_address) {
10909 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10910 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
10911 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
10912 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
10913 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
10914 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));
10916 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
10917 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));
10918 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
10921 return NDR_ERR_SUCCESS;
10924 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
10926 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
10928 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
10929 ndr_print_uint32(ndr, "serial_num", r->serial_num);
10930 ndr_print_uint32(ndr, "priority", r->priority);
10931 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
10932 ndr_print_set_switch_value(ndr, &r->options, r->operation_type);
10933 ndr_print_drsuapi_DsRplicaOpOptions(ndr, "options", &r->options);
10934 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
10937 ndr_print_string(ndr, "nc_dn", r->nc_dn);
10940 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10942 if (r->remote_dsa_obj_dn) {
10943 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10946 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
10948 if (r->remote_dsa_address) {
10949 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
10952 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
10953 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
10957 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
10959 uint32_t cntr_array_0;
10960 if (ndr_flags & NDR_SCALARS) {
10961 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10962 NDR_CHECK(ndr_push_align(ndr, 5));
10963 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
10964 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10965 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10966 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10968 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10970 if (ndr_flags & NDR_BUFFERS) {
10971 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10972 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10975 return NDR_ERR_SUCCESS;
10978 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
10980 uint32_t cntr_array_0;
10981 TALLOC_CTX *_mem_save_array_0;
10982 if (ndr_flags & NDR_SCALARS) {
10983 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10984 NDR_CHECK(ndr_pull_align(ndr, 5));
10985 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
10986 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10987 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10988 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10989 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10990 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10991 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10993 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10995 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10997 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10999 if (ndr_flags & NDR_BUFFERS) {
11000 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11001 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11002 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11003 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11005 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11007 return NDR_ERR_SUCCESS;
11010 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
11012 uint32_t cntr_array_0;
11013 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
11015 ndr_print_NTTIME(ndr, "time", r->time);
11016 ndr_print_uint32(ndr, "count", r->count);
11017 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11019 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11021 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11022 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
11030 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
11032 if (ndr_flags & NDR_SCALARS) {
11033 NDR_CHECK(ndr_push_align(ndr, 8));
11034 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11035 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11037 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11038 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11039 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11040 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11041 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11042 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11043 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11044 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11045 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11047 if (ndr_flags & NDR_BUFFERS) {
11048 if (r->attribute_name) {
11049 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11050 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11051 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11052 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11054 if (r->object_dn) {
11055 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11056 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11057 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11058 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11061 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11064 return NDR_ERR_SUCCESS;
11067 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
11069 uint32_t _ptr_attribute_name;
11070 TALLOC_CTX *_mem_save_attribute_name_0;
11071 uint32_t _ptr_object_dn;
11072 TALLOC_CTX *_mem_save_object_dn_0;
11073 uint32_t _ptr_binary;
11074 TALLOC_CTX *_mem_save_binary_0;
11075 if (ndr_flags & NDR_SCALARS) {
11076 NDR_CHECK(ndr_pull_align(ndr, 8));
11077 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11078 if (_ptr_attribute_name) {
11079 NDR_PULL_ALLOC(ndr, r->attribute_name);
11081 r->attribute_name = NULL;
11083 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11084 if (_ptr_object_dn) {
11085 NDR_PULL_ALLOC(ndr, r->object_dn);
11087 r->object_dn = NULL;
11089 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11090 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11092 NDR_PULL_ALLOC(ndr, r->binary);
11096 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11097 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11098 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11099 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11100 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11101 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11102 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11103 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11105 if (ndr_flags & NDR_BUFFERS) {
11106 if (r->attribute_name) {
11107 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11108 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11109 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11110 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11111 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11112 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));
11114 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11115 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11116 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11118 if (r->object_dn) {
11119 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11120 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11121 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11122 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11123 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11124 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));
11126 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11127 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11128 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11131 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11132 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11133 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11134 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11137 return NDR_ERR_SUCCESS;
11140 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
11142 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
11144 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11146 if (r->attribute_name) {
11147 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11150 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11152 if (r->object_dn) {
11153 ndr_print_string(ndr, "object_dn", r->object_dn);
11156 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);
11157 ndr_print_ptr(ndr, "binary", r->binary);
11160 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11163 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11164 ndr_print_NTTIME(ndr, "created", r->created);
11165 ndr_print_uint32(ndr, "version", r->version);
11166 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11167 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11168 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11169 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11173 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11175 uint32_t cntr_array_0;
11176 if (ndr_flags & NDR_SCALARS) {
11177 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11178 NDR_CHECK(ndr_push_align(ndr, 8));
11179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11180 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11181 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11182 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11184 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11186 if (ndr_flags & NDR_BUFFERS) {
11187 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11188 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11191 return NDR_ERR_SUCCESS;
11194 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11196 uint32_t cntr_array_0;
11197 TALLOC_CTX *_mem_save_array_0;
11198 if (ndr_flags & NDR_SCALARS) {
11199 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11200 NDR_CHECK(ndr_pull_align(ndr, 8));
11201 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11202 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11203 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11204 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11205 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11206 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11207 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11211 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11213 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11215 if (ndr_flags & NDR_BUFFERS) {
11216 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11217 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11218 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11219 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11221 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11223 return NDR_ERR_SUCCESS;
11226 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11228 uint32_t cntr_array_0;
11229 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
11231 ndr_print_uint32(ndr, "count", r->count);
11232 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11233 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11235 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11237 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11238 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
11246 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
11248 uint32_t cntr_array_0;
11249 if (ndr_flags & NDR_SCALARS) {
11250 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11251 NDR_CHECK(ndr_push_align(ndr, 8));
11252 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11253 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11254 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11255 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11257 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11259 if (ndr_flags & NDR_BUFFERS) {
11261 return NDR_ERR_SUCCESS;
11264 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
11266 uint32_t cntr_array_0;
11267 TALLOC_CTX *_mem_save_array_0;
11268 if (ndr_flags & NDR_SCALARS) {
11269 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11270 NDR_CHECK(ndr_pull_align(ndr, 8));
11271 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11272 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11273 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11274 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11275 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11276 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11277 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11279 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11281 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11283 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11285 if (ndr_flags & NDR_BUFFERS) {
11287 return NDR_ERR_SUCCESS;
11290 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
11292 uint32_t cntr_array_0;
11293 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
11295 ndr_print_uint32(ndr, "count", r->count);
11296 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11297 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11299 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11301 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11302 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
11310 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
11312 if (ndr_flags & NDR_SCALARS) {
11313 NDR_CHECK(ndr_push_align(ndr, 8));
11314 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11315 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11316 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
11317 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11318 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11320 if (ndr_flags & NDR_BUFFERS) {
11321 if (r->source_dsa_obj_dn) {
11322 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11323 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11324 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11325 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));
11328 return NDR_ERR_SUCCESS;
11331 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
11333 uint32_t _ptr_source_dsa_obj_dn;
11334 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
11335 if (ndr_flags & NDR_SCALARS) {
11336 NDR_CHECK(ndr_pull_align(ndr, 8));
11337 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11338 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11339 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
11340 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11341 if (_ptr_source_dsa_obj_dn) {
11342 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11344 r->source_dsa_obj_dn = NULL;
11346 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11348 if (ndr_flags & NDR_BUFFERS) {
11349 if (r->source_dsa_obj_dn) {
11350 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11351 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11352 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11353 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11354 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
11355 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));
11357 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
11358 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));
11359 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11362 return NDR_ERR_SUCCESS;
11365 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
11367 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
11369 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11370 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11371 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
11372 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11374 if (r->source_dsa_obj_dn) {
11375 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11381 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
11383 uint32_t cntr_array_0;
11384 if (ndr_flags & NDR_SCALARS) {
11385 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11386 NDR_CHECK(ndr_push_align(ndr, 8));
11387 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11388 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11389 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11390 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11392 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11394 if (ndr_flags & NDR_BUFFERS) {
11395 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11396 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11399 return NDR_ERR_SUCCESS;
11402 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
11404 uint32_t cntr_array_0;
11405 TALLOC_CTX *_mem_save_array_0;
11406 if (ndr_flags & NDR_SCALARS) {
11407 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11408 NDR_CHECK(ndr_pull_align(ndr, 8));
11409 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11410 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11411 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11412 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11413 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11414 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11415 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11417 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11419 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11421 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11423 if (ndr_flags & NDR_BUFFERS) {
11424 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11425 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11426 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11427 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11429 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11431 return NDR_ERR_SUCCESS;
11434 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
11436 uint32_t cntr_array_0;
11437 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
11439 ndr_print_uint32(ndr, "count", r->count);
11440 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11441 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11443 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11445 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11446 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
11454 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
11456 if (ndr_flags & NDR_SCALARS) {
11457 NDR_CHECK(ndr_push_align(ndr, 8));
11458 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11459 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11460 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11461 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11462 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11463 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11464 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11465 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11467 if (ndr_flags & NDR_BUFFERS) {
11468 if (r->attribute_name) {
11469 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11470 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11471 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11472 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11474 if (r->originating_dsa_dn) {
11475 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11476 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11477 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11478 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));
11481 return NDR_ERR_SUCCESS;
11484 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
11486 uint32_t _ptr_attribute_name;
11487 TALLOC_CTX *_mem_save_attribute_name_0;
11488 uint32_t _ptr_originating_dsa_dn;
11489 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11490 if (ndr_flags & NDR_SCALARS) {
11491 NDR_CHECK(ndr_pull_align(ndr, 8));
11492 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11493 if (_ptr_attribute_name) {
11494 NDR_PULL_ALLOC(ndr, r->attribute_name);
11496 r->attribute_name = NULL;
11498 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11499 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11500 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11501 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11502 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11503 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11504 if (_ptr_originating_dsa_dn) {
11505 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11507 r->originating_dsa_dn = NULL;
11509 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11511 if (ndr_flags & NDR_BUFFERS) {
11512 if (r->attribute_name) {
11513 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11514 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11515 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11516 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11517 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11518 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));
11520 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11521 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11524 if (r->originating_dsa_dn) {
11525 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11526 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11527 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11528 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11529 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11530 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));
11532 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11533 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));
11534 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11537 return NDR_ERR_SUCCESS;
11540 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
11542 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
11544 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11546 if (r->attribute_name) {
11547 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11550 ndr_print_uint32(ndr, "version", r->version);
11551 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11552 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11553 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11554 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11555 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11557 if (r->originating_dsa_dn) {
11558 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11564 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11566 uint32_t cntr_array_0;
11567 if (ndr_flags & NDR_SCALARS) {
11568 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11569 NDR_CHECK(ndr_push_align(ndr, 8));
11570 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11571 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11572 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11573 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11575 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11577 if (ndr_flags & NDR_BUFFERS) {
11578 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11579 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11582 return NDR_ERR_SUCCESS;
11585 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11587 uint32_t cntr_array_0;
11588 TALLOC_CTX *_mem_save_array_0;
11589 if (ndr_flags & NDR_SCALARS) {
11590 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11591 NDR_CHECK(ndr_pull_align(ndr, 8));
11592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11593 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11594 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11595 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11596 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11597 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11598 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11600 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11602 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11604 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11606 if (ndr_flags & NDR_BUFFERS) {
11607 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11608 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11609 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11610 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11612 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11614 return NDR_ERR_SUCCESS;
11617 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11619 uint32_t cntr_array_0;
11620 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
11622 ndr_print_uint32(ndr, "count", r->count);
11623 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11624 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11626 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11628 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11629 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
11637 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11639 if (ndr_flags & NDR_SCALARS) {
11640 NDR_CHECK(ndr_push_align(ndr, 8));
11641 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11642 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11643 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11644 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11645 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11646 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11647 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11648 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11649 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11650 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11651 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11652 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11653 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11655 if (ndr_flags & NDR_BUFFERS) {
11656 if (r->attribute_name) {
11657 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11658 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11659 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11660 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11662 if (r->object_dn) {
11663 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11664 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11665 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11666 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11669 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11671 if (r->originating_dsa_dn) {
11672 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11673 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11674 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11675 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));
11678 return NDR_ERR_SUCCESS;
11681 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
11683 uint32_t _ptr_attribute_name;
11684 TALLOC_CTX *_mem_save_attribute_name_0;
11685 uint32_t _ptr_object_dn;
11686 TALLOC_CTX *_mem_save_object_dn_0;
11687 uint32_t _ptr_binary;
11688 TALLOC_CTX *_mem_save_binary_0;
11689 uint32_t _ptr_originating_dsa_dn;
11690 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11691 if (ndr_flags & NDR_SCALARS) {
11692 NDR_CHECK(ndr_pull_align(ndr, 8));
11693 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11694 if (_ptr_attribute_name) {
11695 NDR_PULL_ALLOC(ndr, r->attribute_name);
11697 r->attribute_name = NULL;
11699 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11700 if (_ptr_object_dn) {
11701 NDR_PULL_ALLOC(ndr, r->object_dn);
11703 r->object_dn = NULL;
11705 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11706 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11708 NDR_PULL_ALLOC(ndr, r->binary);
11712 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11713 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11714 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11715 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11716 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11717 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11718 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11719 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11720 if (_ptr_originating_dsa_dn) {
11721 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11723 r->originating_dsa_dn = NULL;
11725 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11727 if (ndr_flags & NDR_BUFFERS) {
11728 if (r->attribute_name) {
11729 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11730 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11731 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11732 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11733 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11734 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));
11736 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11737 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11738 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11740 if (r->object_dn) {
11741 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11742 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11743 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11744 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11745 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11746 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));
11748 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11749 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11750 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11753 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11754 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11755 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11756 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11758 if (r->originating_dsa_dn) {
11759 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11760 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11761 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11762 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11763 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11764 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));
11766 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11767 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));
11768 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11771 return NDR_ERR_SUCCESS;
11774 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11776 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
11778 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11780 if (r->attribute_name) {
11781 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11784 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11786 if (r->object_dn) {
11787 ndr_print_string(ndr, "object_dn", r->object_dn);
11790 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);
11791 ndr_print_ptr(ndr, "binary", r->binary);
11794 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11797 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11798 ndr_print_NTTIME(ndr, "created", r->created);
11799 ndr_print_uint32(ndr, "version", r->version);
11800 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11801 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11802 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11803 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11804 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11806 if (r->originating_dsa_dn) {
11807 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11813 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11815 uint32_t cntr_array_0;
11816 if (ndr_flags & NDR_SCALARS) {
11817 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11818 NDR_CHECK(ndr_push_align(ndr, 8));
11819 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11820 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11821 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11822 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11824 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11826 if (ndr_flags & NDR_BUFFERS) {
11827 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11828 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11831 return NDR_ERR_SUCCESS;
11834 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11836 uint32_t cntr_array_0;
11837 TALLOC_CTX *_mem_save_array_0;
11838 if (ndr_flags & NDR_SCALARS) {
11839 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11840 NDR_CHECK(ndr_pull_align(ndr, 8));
11841 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11842 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11843 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11844 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11845 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11846 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11847 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11849 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11851 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11853 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11855 if (ndr_flags & NDR_BUFFERS) {
11856 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11857 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11858 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11859 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11861 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11863 return NDR_ERR_SUCCESS;
11866 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11868 uint32_t cntr_array_0;
11869 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11871 ndr_print_uint32(ndr, "count", r->count);
11872 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11873 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11875 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11877 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11878 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
11886 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
11888 if (ndr_flags & NDR_SCALARS) {
11889 NDR_CHECK(ndr_push_align(ndr, 8));
11890 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
11891 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11892 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11893 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11894 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
11896 uint32_t _flags_save_ipv4address = ndr->flags;
11897 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11898 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
11899 ndr->flags = _flags_save_ipv4address;
11901 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11902 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11904 if (ndr_flags & NDR_BUFFERS) {
11906 return NDR_ERR_SUCCESS;
11909 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
11911 if (ndr_flags & NDR_SCALARS) {
11912 NDR_CHECK(ndr_pull_align(ndr, 8));
11913 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
11914 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11915 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11916 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11917 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
11919 uint32_t _flags_save_ipv4address = ndr->flags;
11920 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11921 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
11922 ndr->flags = _flags_save_ipv4address;
11924 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11925 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11927 if (ndr_flags & NDR_BUFFERS) {
11929 return NDR_ERR_SUCCESS;
11932 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
11934 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
11936 ndr_print_hyper(ndr, "u1", r->u1);
11937 ndr_print_uint32(ndr, "u2", r->u2);
11938 ndr_print_uint32(ndr, "u3", r->u3);
11939 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
11940 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
11941 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
11942 ndr_print_uint32(ndr, "u5", r->u5);
11946 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
11948 uint32_t cntr_array_0;
11949 if (ndr_flags & NDR_SCALARS) {
11950 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11951 NDR_CHECK(ndr_push_align(ndr, 8));
11952 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11953 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11954 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11955 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11957 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11959 if (ndr_flags & NDR_BUFFERS) {
11961 return NDR_ERR_SUCCESS;
11964 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
11966 uint32_t cntr_array_0;
11967 TALLOC_CTX *_mem_save_array_0;
11968 if (ndr_flags & NDR_SCALARS) {
11969 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11970 NDR_CHECK(ndr_pull_align(ndr, 8));
11971 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11972 if (r->count > 10000) {
11973 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11975 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11976 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11977 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11978 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11979 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11980 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11982 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11984 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11986 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11988 if (ndr_flags & NDR_BUFFERS) {
11990 return NDR_ERR_SUCCESS;
11993 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
11995 uint32_t cntr_array_0;
11996 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
11998 ndr_print_uint32(ndr, "count", r->count);
11999 ndr_print_uint32(ndr, "reserved", r->reserved);
12000 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12002 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12004 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12005 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
12013 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
12015 if (ndr_flags & NDR_SCALARS) {
12016 NDR_CHECK(ndr_push_align(ndr, 8));
12017 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
12018 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
12019 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
12020 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
12021 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
12022 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
12023 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
12024 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
12025 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12027 if (ndr_flags & NDR_BUFFERS) {
12029 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
12030 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12031 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
12032 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12035 return NDR_ERR_SUCCESS;
12038 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
12040 uint32_t _ptr_str1;
12041 TALLOC_CTX *_mem_save_str1_0;
12042 if (ndr_flags & NDR_SCALARS) {
12043 NDR_CHECK(ndr_pull_align(ndr, 8));
12044 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
12046 NDR_PULL_ALLOC(ndr, r->str1);
12050 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
12051 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
12052 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
12053 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
12054 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
12055 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
12056 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
12057 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12059 if (ndr_flags & NDR_BUFFERS) {
12061 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
12062 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
12063 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
12064 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
12065 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
12066 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));
12068 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
12069 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
12070 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
12073 return NDR_ERR_SUCCESS;
12076 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
12078 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
12080 ndr_print_ptr(ndr, "str1", r->str1);
12083 ndr_print_string(ndr, "str1", r->str1);
12086 ndr_print_uint32(ndr, "u1", r->u1);
12087 ndr_print_uint32(ndr, "u2", r->u2);
12088 ndr_print_uint32(ndr, "u3", r->u3);
12089 ndr_print_uint32(ndr, "u4", r->u4);
12090 ndr_print_uint32(ndr, "u5", r->u5);
12091 ndr_print_hyper(ndr, "u6", r->u6);
12092 ndr_print_uint32(ndr, "u7", r->u7);
12096 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
12098 uint32_t cntr_array_0;
12099 if (ndr_flags & NDR_SCALARS) {
12100 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12101 NDR_CHECK(ndr_push_align(ndr, 8));
12102 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
12104 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12105 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12107 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12109 if (ndr_flags & NDR_BUFFERS) {
12110 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12111 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12114 return NDR_ERR_SUCCESS;
12117 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
12119 uint32_t cntr_array_0;
12120 TALLOC_CTX *_mem_save_array_0;
12121 if (ndr_flags & NDR_SCALARS) {
12122 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12123 NDR_CHECK(ndr_pull_align(ndr, 8));
12124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12125 if (r->count > 256) {
12126 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12128 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12129 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
12130 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12131 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12132 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12133 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12137 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12139 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12141 if (ndr_flags & NDR_BUFFERS) {
12142 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12143 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12144 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12145 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12149 return NDR_ERR_SUCCESS;
12152 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
12154 uint32_t cntr_array_0;
12155 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
12157 ndr_print_uint32(ndr, "count", r->count);
12158 ndr_print_uint32(ndr, "reserved", r->reserved);
12159 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12161 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12163 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12164 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
12172 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
12174 if (ndr_flags & NDR_SCALARS) {
12175 int level = ndr_push_get_switch_value(ndr, r);
12176 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
12177 NDR_CHECK(ndr_push_union_align(ndr, 5));
12179 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12180 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
12183 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12184 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
12187 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12188 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
12191 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12192 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
12195 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12196 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
12199 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12200 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
12203 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12204 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
12207 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12208 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
12211 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12212 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
12215 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12216 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
12219 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12220 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
12223 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
12224 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours02));
12227 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12228 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connections04));
12231 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12232 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors05));
12235 case DRSUAPI_DS_REPLICA_INFO_06: {
12236 NDR_CHECK(ndr_push_unique_ptr(ndr, r->i06));
12240 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12243 if (ndr_flags & NDR_BUFFERS) {
12244 int level = ndr_push_get_switch_value(ndr, r);
12246 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12247 if (r->neighbours) {
12248 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12252 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12254 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12258 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12259 if (r->objmetadata) {
12260 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12264 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12265 if (r->connectfailures) {
12266 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12270 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12271 if (r->linkfailures) {
12272 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12276 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12277 if (r->pendingops) {
12278 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12282 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12283 if (r->attrvalmetadata) {
12284 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12288 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12290 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12294 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12296 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12300 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12301 if (r->objmetadata2) {
12302 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12306 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12307 if (r->attrvalmetadata2) {
12308 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12312 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12313 if (r->neighbours02) {
12314 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12318 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12319 if (r->connections04) {
12320 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12324 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12325 if (r->cursors05) {
12326 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12330 case DRSUAPI_DS_REPLICA_INFO_06:
12332 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12337 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12340 return NDR_ERR_SUCCESS;
12343 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
12347 TALLOC_CTX *_mem_save_neighbours_0;
12348 TALLOC_CTX *_mem_save_cursors_0;
12349 TALLOC_CTX *_mem_save_objmetadata_0;
12350 TALLOC_CTX *_mem_save_connectfailures_0;
12351 TALLOC_CTX *_mem_save_linkfailures_0;
12352 TALLOC_CTX *_mem_save_pendingops_0;
12353 TALLOC_CTX *_mem_save_attrvalmetadata_0;
12354 TALLOC_CTX *_mem_save_cursors2_0;
12355 TALLOC_CTX *_mem_save_cursors3_0;
12356 TALLOC_CTX *_mem_save_objmetadata2_0;
12357 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
12358 TALLOC_CTX *_mem_save_neighbours02_0;
12359 TALLOC_CTX *_mem_save_connections04_0;
12360 TALLOC_CTX *_mem_save_cursors05_0;
12361 TALLOC_CTX *_mem_save_i06_0;
12362 level = ndr_pull_get_switch_value(ndr, r);
12363 if (ndr_flags & NDR_SCALARS) {
12364 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12365 if (_level != level) {
12366 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12368 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12370 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12371 uint32_t _ptr_neighbours;
12372 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
12373 if (_ptr_neighbours) {
12374 NDR_PULL_ALLOC(ndr, r->neighbours);
12376 r->neighbours = NULL;
12380 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12381 uint32_t _ptr_cursors;
12382 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
12383 if (_ptr_cursors) {
12384 NDR_PULL_ALLOC(ndr, r->cursors);
12390 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12391 uint32_t _ptr_objmetadata;
12392 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
12393 if (_ptr_objmetadata) {
12394 NDR_PULL_ALLOC(ndr, r->objmetadata);
12396 r->objmetadata = NULL;
12400 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12401 uint32_t _ptr_connectfailures;
12402 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
12403 if (_ptr_connectfailures) {
12404 NDR_PULL_ALLOC(ndr, r->connectfailures);
12406 r->connectfailures = NULL;
12410 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12411 uint32_t _ptr_linkfailures;
12412 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
12413 if (_ptr_linkfailures) {
12414 NDR_PULL_ALLOC(ndr, r->linkfailures);
12416 r->linkfailures = NULL;
12420 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12421 uint32_t _ptr_pendingops;
12422 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
12423 if (_ptr_pendingops) {
12424 NDR_PULL_ALLOC(ndr, r->pendingops);
12426 r->pendingops = NULL;
12430 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12431 uint32_t _ptr_attrvalmetadata;
12432 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
12433 if (_ptr_attrvalmetadata) {
12434 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
12436 r->attrvalmetadata = NULL;
12440 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12441 uint32_t _ptr_cursors2;
12442 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
12443 if (_ptr_cursors2) {
12444 NDR_PULL_ALLOC(ndr, r->cursors2);
12446 r->cursors2 = NULL;
12450 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12451 uint32_t _ptr_cursors3;
12452 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
12453 if (_ptr_cursors3) {
12454 NDR_PULL_ALLOC(ndr, r->cursors3);
12456 r->cursors3 = NULL;
12460 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12461 uint32_t _ptr_objmetadata2;
12462 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
12463 if (_ptr_objmetadata2) {
12464 NDR_PULL_ALLOC(ndr, r->objmetadata2);
12466 r->objmetadata2 = NULL;
12470 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12471 uint32_t _ptr_attrvalmetadata2;
12472 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
12473 if (_ptr_attrvalmetadata2) {
12474 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
12476 r->attrvalmetadata2 = NULL;
12480 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
12481 uint32_t _ptr_neighbours02;
12482 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours02));
12483 if (_ptr_neighbours02) {
12484 NDR_PULL_ALLOC(ndr, r->neighbours02);
12486 r->neighbours02 = NULL;
12490 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12491 uint32_t _ptr_connections04;
12492 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connections04));
12493 if (_ptr_connections04) {
12494 NDR_PULL_ALLOC(ndr, r->connections04);
12496 r->connections04 = NULL;
12500 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12501 uint32_t _ptr_cursors05;
12502 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors05));
12503 if (_ptr_cursors05) {
12504 NDR_PULL_ALLOC(ndr, r->cursors05);
12506 r->cursors05 = NULL;
12510 case DRSUAPI_DS_REPLICA_INFO_06: {
12512 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_i06));
12514 NDR_PULL_ALLOC(ndr, r->i06);
12521 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12524 if (ndr_flags & NDR_BUFFERS) {
12526 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12527 if (r->neighbours) {
12528 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
12529 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
12530 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12531 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
12535 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12537 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
12538 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
12539 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12540 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
12544 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12545 if (r->objmetadata) {
12546 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12547 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
12548 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12549 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
12553 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12554 if (r->connectfailures) {
12555 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12556 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
12557 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
12562 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12563 if (r->linkfailures) {
12564 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12565 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
12566 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12567 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
12571 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12572 if (r->pendingops) {
12573 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
12574 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
12575 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12576 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
12580 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12581 if (r->attrvalmetadata) {
12582 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12583 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
12584 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12585 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
12589 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12591 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12592 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
12593 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12594 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
12598 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12600 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12601 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
12602 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12603 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
12607 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12608 if (r->objmetadata2) {
12609 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12610 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
12611 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12612 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
12616 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12617 if (r->attrvalmetadata2) {
12618 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12619 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
12620 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12621 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
12625 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12626 if (r->neighbours02) {
12627 _mem_save_neighbours02_0 = NDR_PULL_GET_MEM_CTX(ndr);
12628 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours02, 0);
12629 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12630 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours02_0, 0);
12634 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12635 if (r->connections04) {
12636 _mem_save_connections04_0 = NDR_PULL_GET_MEM_CTX(ndr);
12637 NDR_PULL_SET_MEM_CTX(ndr, r->connections04, 0);
12638 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12639 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connections04_0, 0);
12643 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12644 if (r->cursors05) {
12645 _mem_save_cursors05_0 = NDR_PULL_GET_MEM_CTX(ndr);
12646 NDR_PULL_SET_MEM_CTX(ndr, r->cursors05, 0);
12647 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12648 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors05_0, 0);
12652 case DRSUAPI_DS_REPLICA_INFO_06:
12654 _mem_save_i06_0 = NDR_PULL_GET_MEM_CTX(ndr);
12655 NDR_PULL_SET_MEM_CTX(ndr, r->i06, 0);
12656 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_i06_0, 0);
12662 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12665 return NDR_ERR_SUCCESS;
12668 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
12671 level = ndr_print_get_switch_value(ndr, r);
12672 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
12674 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12675 ndr_print_ptr(ndr, "neighbours", r->neighbours);
12677 if (r->neighbours) {
12678 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
12683 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12684 ndr_print_ptr(ndr, "cursors", r->cursors);
12687 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
12692 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12693 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
12695 if (r->objmetadata) {
12696 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
12701 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12702 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
12704 if (r->connectfailures) {
12705 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
12710 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12711 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
12713 if (r->linkfailures) {
12714 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
12719 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12720 ndr_print_ptr(ndr, "pendingops", r->pendingops);
12722 if (r->pendingops) {
12723 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
12728 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12729 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
12731 if (r->attrvalmetadata) {
12732 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
12737 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12738 ndr_print_ptr(ndr, "cursors2", r->cursors2);
12741 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
12746 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12747 ndr_print_ptr(ndr, "cursors3", r->cursors3);
12750 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
12755 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12756 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
12758 if (r->objmetadata2) {
12759 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
12764 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12765 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12767 if (r->attrvalmetadata2) {
12768 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12773 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12774 ndr_print_ptr(ndr, "neighbours02", r->neighbours02);
12776 if (r->neighbours02) {
12777 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours02", r->neighbours02);
12782 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12783 ndr_print_ptr(ndr, "connections04", r->connections04);
12785 if (r->connections04) {
12786 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "connections04", r->connections04);
12791 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12792 ndr_print_ptr(ndr, "cursors05", r->cursors05);
12794 if (r->cursors05) {
12795 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "cursors05", r->cursors05);
12800 case DRSUAPI_DS_REPLICA_INFO_06:
12801 ndr_print_ptr(ndr, "i06", r->i06);
12804 ndr_print_drsuapi_DsReplica06Ctr(ndr, "i06", r->i06);
12810 ndr_print_bad_level(ndr, name, level);
12814 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
12816 if (ndr_flags & NDR_SCALARS) {
12817 int level = ndr_push_get_switch_value(ndr, r);
12818 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12819 NDR_CHECK(ndr_push_union_align(ndr, 5));
12822 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12826 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12829 if (ndr_flags & NDR_BUFFERS) {
12830 int level = ndr_push_get_switch_value(ndr, r);
12833 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12837 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12840 return NDR_ERR_SUCCESS;
12843 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
12847 level = ndr_pull_get_switch_value(ndr, r);
12848 if (ndr_flags & NDR_SCALARS) {
12849 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12850 if (_level != level) {
12851 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12853 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12856 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12860 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12863 if (ndr_flags & NDR_BUFFERS) {
12866 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12870 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12873 return NDR_ERR_SUCCESS;
12876 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
12879 level = ndr_print_get_switch_value(ndr, r);
12880 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
12883 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
12887 ndr_print_bad_level(ndr, name, level);
12891 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
12893 uint32_t cntr_req_array_1;
12894 if (ndr_flags & NDR_SCALARS) {
12895 NDR_CHECK(ndr_push_align(ndr, 5));
12896 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12897 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
12898 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12900 if (ndr_flags & NDR_BUFFERS) {
12901 if (r->req_array) {
12902 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
12903 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12904 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
12906 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12907 if (r->req_array[cntr_req_array_1]) {
12908 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12913 return NDR_ERR_SUCCESS;
12916 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
12918 uint32_t _ptr_req_array;
12919 uint32_t cntr_req_array_1;
12920 TALLOC_CTX *_mem_save_req_array_0;
12921 TALLOC_CTX *_mem_save_req_array_1;
12922 TALLOC_CTX *_mem_save_req_array_2;
12923 if (ndr_flags & NDR_SCALARS) {
12924 NDR_CHECK(ndr_pull_align(ndr, 5));
12925 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12926 if (r->num_req < 1 || r->num_req > 10000) {
12927 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12929 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12930 if (_ptr_req_array) {
12931 NDR_PULL_ALLOC(ndr, r->req_array);
12933 r->req_array = NULL;
12935 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12937 if (ndr_flags & NDR_BUFFERS) {
12938 if (r->req_array) {
12939 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12940 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12941 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
12942 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
12943 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12944 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12945 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12946 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12947 if (_ptr_req_array) {
12948 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
12950 r->req_array[cntr_req_array_1] = NULL;
12953 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12954 if (r->req_array[cntr_req_array_1]) {
12955 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
12956 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
12957 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12958 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
12961 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
12962 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
12964 if (r->req_array) {
12965 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
12968 return NDR_ERR_SUCCESS;
12971 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
12973 uint32_t cntr_req_array_1;
12974 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
12976 ndr_print_uint32(ndr, "num_req", r->num_req);
12977 ndr_print_ptr(ndr, "req_array", r->req_array);
12979 if (r->req_array) {
12980 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
12982 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
12984 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
12985 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
12987 if (r->req_array[cntr_req_array_1]) {
12988 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
13000 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
13002 if (ndr_flags & NDR_SCALARS) {
13003 int level = ndr_push_get_switch_value(ndr, r);
13004 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13005 NDR_CHECK(ndr_push_union_align(ndr, 5));
13008 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
13012 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13015 if (ndr_flags & NDR_BUFFERS) {
13016 int level = ndr_push_get_switch_value(ndr, r);
13019 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
13023 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13026 return NDR_ERR_SUCCESS;
13029 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
13033 level = ndr_pull_get_switch_value(ndr, r);
13034 if (ndr_flags & NDR_SCALARS) {
13035 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13036 if (_level != level) {
13037 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13039 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13042 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
13046 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13049 if (ndr_flags & NDR_BUFFERS) {
13052 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
13056 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13059 return NDR_ERR_SUCCESS;
13062 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
13065 level = ndr_print_get_switch_value(ndr, r);
13066 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
13069 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
13073 ndr_print_bad_level(ndr, name, level);
13077 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
13079 if (ndr_flags & NDR_SCALARS) {
13080 NDR_CHECK(ndr_push_align(ndr, 4));
13081 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
13082 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
13083 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
13085 if (ndr_flags & NDR_BUFFERS) {
13087 return NDR_ERR_SUCCESS;
13090 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
13092 if (ndr_flags & NDR_SCALARS) {
13093 NDR_CHECK(ndr_pull_align(ndr, 4));
13094 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
13095 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
13096 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
13098 if (ndr_flags & NDR_BUFFERS) {
13100 return NDR_ERR_SUCCESS;
13103 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
13105 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
13107 ndr_print_WERROR(ndr, "error_code", r->error_code);
13108 ndr_print_uint32(ndr, "site_cost", r->site_cost);
13112 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
13114 uint32_t cntr_info_1;
13115 if (ndr_flags & NDR_SCALARS) {
13116 NDR_CHECK(ndr_push_align(ndr, 5));
13117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
13118 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
13119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
13120 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13122 if (ndr_flags & NDR_BUFFERS) {
13124 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
13125 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13126 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13130 return NDR_ERR_SUCCESS;
13133 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
13135 uint32_t _ptr_info;
13136 uint32_t cntr_info_1;
13137 TALLOC_CTX *_mem_save_info_0;
13138 TALLOC_CTX *_mem_save_info_1;
13139 if (ndr_flags & NDR_SCALARS) {
13140 NDR_CHECK(ndr_pull_align(ndr, 5));
13141 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
13142 if (r->num_info > 10000) {
13143 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13145 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13147 NDR_PULL_ALLOC(ndr, r->info);
13151 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
13152 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13154 if (ndr_flags & NDR_BUFFERS) {
13156 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13157 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13158 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
13159 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
13160 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13161 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13162 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13163 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13165 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
13169 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
13172 return NDR_ERR_SUCCESS;
13175 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
13177 uint32_t cntr_info_1;
13178 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
13180 ndr_print_uint32(ndr, "num_info", r->num_info);
13181 ndr_print_ptr(ndr, "info", r->info);
13184 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
13186 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
13188 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
13189 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
13196 ndr_print_uint32(ndr, "unknown", r->unknown);
13200 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
13202 if (ndr_flags & NDR_SCALARS) {
13203 int level = ndr_push_get_switch_value(ndr, r);
13204 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13205 NDR_CHECK(ndr_push_union_align(ndr, 5));
13208 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13212 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13215 if (ndr_flags & NDR_BUFFERS) {
13216 int level = ndr_push_get_switch_value(ndr, r);
13219 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13223 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13226 return NDR_ERR_SUCCESS;
13229 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
13233 level = ndr_pull_get_switch_value(ndr, r);
13234 if (ndr_flags & NDR_SCALARS) {
13235 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13236 if (_level != level) {
13237 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13239 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13242 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13246 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13249 if (ndr_flags & NDR_BUFFERS) {
13252 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13256 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13259 return NDR_ERR_SUCCESS;
13262 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
13265 level = ndr_print_get_switch_value(ndr, r);
13266 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
13269 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
13273 ndr_print_bad_level(ndr, name, level);
13277 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
13279 uint32_t cntr_site_to_1;
13280 if (ndr_flags & NDR_SCALARS) {
13281 NDR_CHECK(ndr_push_align(ndr, 5));
13282 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
13283 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
13284 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
13285 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
13286 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13288 if (ndr_flags & NDR_BUFFERS) {
13289 if (r->site_from) {
13290 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13291 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13292 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13293 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13296 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13297 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13298 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
13300 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13301 if (r->site_to[cntr_site_to_1]) {
13302 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13303 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13304 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13305 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));
13310 return NDR_ERR_SUCCESS;
13313 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
13315 uint32_t _ptr_site_from;
13316 TALLOC_CTX *_mem_save_site_from_0;
13317 uint32_t _ptr_site_to;
13318 uint32_t cntr_site_to_1;
13319 TALLOC_CTX *_mem_save_site_to_0;
13320 TALLOC_CTX *_mem_save_site_to_1;
13321 TALLOC_CTX *_mem_save_site_to_2;
13322 if (ndr_flags & NDR_SCALARS) {
13323 NDR_CHECK(ndr_pull_align(ndr, 5));
13324 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
13325 if (_ptr_site_from) {
13326 NDR_PULL_ALLOC(ndr, r->site_from);
13328 r->site_from = NULL;
13330 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13331 if (r->num_req < 1 || r->num_req > 10000) {
13332 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13334 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13335 if (_ptr_site_to) {
13336 NDR_PULL_ALLOC(ndr, r->site_to);
13340 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
13341 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13343 if (ndr_flags & NDR_BUFFERS) {
13344 if (r->site_from) {
13345 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
13346 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
13347 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
13348 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
13349 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
13350 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));
13352 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
13353 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
13354 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
13357 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
13358 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13359 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
13360 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
13361 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
13362 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13363 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13364 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13365 if (_ptr_site_to) {
13366 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
13368 r->site_to[cntr_site_to_1] = NULL;
13371 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13372 if (r->site_to[cntr_site_to_1]) {
13373 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
13374 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
13375 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
13376 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
13377 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])) {
13378 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]));
13380 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
13381 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));
13382 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
13385 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
13386 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
13389 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
13392 return NDR_ERR_SUCCESS;
13395 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
13397 uint32_t cntr_site_to_1;
13398 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
13400 ndr_print_ptr(ndr, "site_from", r->site_from);
13402 if (r->site_from) {
13403 ndr_print_string(ndr, "site_from", r->site_from);
13406 ndr_print_uint32(ndr, "num_req", r->num_req);
13407 ndr_print_ptr(ndr, "site_to", r->site_to);
13410 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
13412 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
13414 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
13415 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
13417 if (r->site_to[cntr_site_to_1]) {
13418 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
13427 ndr_print_uint32(ndr, "flags", r->flags);
13431 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
13433 if (ndr_flags & NDR_SCALARS) {
13434 int level = ndr_push_get_switch_value(ndr, r);
13435 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13436 NDR_CHECK(ndr_push_union_align(ndr, 5));
13439 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13443 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13446 if (ndr_flags & NDR_BUFFERS) {
13447 int level = ndr_push_get_switch_value(ndr, r);
13450 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13454 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13457 return NDR_ERR_SUCCESS;
13460 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
13464 level = ndr_pull_get_switch_value(ndr, r);
13465 if (ndr_flags & NDR_SCALARS) {
13466 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13467 if (_level != level) {
13468 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13470 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13473 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13477 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13480 if (ndr_flags & NDR_BUFFERS) {
13483 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13487 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13490 return NDR_ERR_SUCCESS;
13493 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
13496 level = ndr_print_get_switch_value(ndr, r);
13497 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
13500 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
13504 ndr_print_bad_level(ndr, name, level);
13508 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
13510 if (flags & NDR_IN) {
13511 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
13512 if (r->in.bind_guid) {
13513 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13515 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
13516 if (r->in.bind_info) {
13517 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13520 if (flags & NDR_OUT) {
13521 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
13522 if (r->out.bind_info) {
13523 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13525 if (r->out.bind_handle == NULL) {
13526 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13528 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13529 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13531 return NDR_ERR_SUCCESS;
13534 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
13536 uint32_t _ptr_bind_guid;
13537 uint32_t _ptr_bind_info;
13538 TALLOC_CTX *_mem_save_bind_guid_0;
13539 TALLOC_CTX *_mem_save_bind_info_0;
13540 TALLOC_CTX *_mem_save_bind_handle_0;
13541 if (flags & NDR_IN) {
13542 ZERO_STRUCT(r->out);
13544 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
13545 if (_ptr_bind_guid) {
13546 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
13548 r->in.bind_guid = NULL;
13550 if (r->in.bind_guid) {
13551 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13552 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
13553 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13554 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
13556 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13557 if (_ptr_bind_info) {
13558 NDR_PULL_ALLOC(ndr, r->in.bind_info);
13560 r->in.bind_info = NULL;
13562 if (r->in.bind_info) {
13563 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13564 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
13565 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13566 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13568 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13569 ZERO_STRUCTP(r->out.bind_handle);
13571 if (flags & NDR_OUT) {
13572 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13573 if (_ptr_bind_info) {
13574 NDR_PULL_ALLOC(ndr, r->out.bind_info);
13576 r->out.bind_info = NULL;
13578 if (r->out.bind_info) {
13579 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13580 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
13581 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13582 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13584 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13585 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13587 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13588 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13589 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13590 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13591 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13593 return NDR_ERR_SUCCESS;
13596 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
13598 ndr_print_struct(ndr, name, "drsuapi_DsBind");
13600 if (flags & NDR_SET_VALUES) {
13601 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13603 if (flags & NDR_IN) {
13604 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
13606 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
13608 if (r->in.bind_guid) {
13609 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
13612 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
13614 if (r->in.bind_info) {
13615 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
13620 if (flags & NDR_OUT) {
13621 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
13623 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
13625 if (r->out.bind_info) {
13626 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
13629 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13631 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13633 ndr_print_WERROR(ndr, "result", r->out.result);
13639 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
13641 if (flags & NDR_IN) {
13642 if (r->in.bind_handle == NULL) {
13643 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13645 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13647 if (flags & NDR_OUT) {
13648 if (r->out.bind_handle == NULL) {
13649 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13651 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13652 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13654 return NDR_ERR_SUCCESS;
13657 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
13659 TALLOC_CTX *_mem_save_bind_handle_0;
13660 if (flags & NDR_IN) {
13661 ZERO_STRUCT(r->out);
13663 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13664 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13666 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13667 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13668 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13669 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13670 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13671 *r->out.bind_handle = *r->in.bind_handle;
13673 if (flags & NDR_OUT) {
13674 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13675 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13677 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13678 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13679 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13680 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13681 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13683 return NDR_ERR_SUCCESS;
13686 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
13688 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
13690 if (flags & NDR_SET_VALUES) {
13691 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13693 if (flags & NDR_IN) {
13694 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
13696 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13698 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13702 if (flags & NDR_OUT) {
13703 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
13705 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13707 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13709 ndr_print_WERROR(ndr, "result", r->out.result);
13715 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
13717 if (flags & NDR_IN) {
13718 if (r->in.bind_handle == NULL) {
13719 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13721 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13722 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13723 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13724 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13726 if (flags & NDR_OUT) {
13727 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13729 return NDR_ERR_SUCCESS;
13732 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
13734 TALLOC_CTX *_mem_save_bind_handle_0;
13735 if (flags & NDR_IN) {
13736 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13737 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13739 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13740 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13741 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13742 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13743 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13744 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13745 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13747 if (flags & NDR_OUT) {
13748 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13750 return NDR_ERR_SUCCESS;
13753 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
13755 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
13757 if (flags & NDR_SET_VALUES) {
13758 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13760 if (flags & NDR_IN) {
13761 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
13763 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13765 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13767 ndr_print_int32(ndr, "level", r->in.level);
13768 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13769 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", &r->in.req);
13772 if (flags & NDR_OUT) {
13773 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
13775 ndr_print_WERROR(ndr, "result", r->out.result);
13781 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
13783 if (flags & NDR_IN) {
13784 if (r->in.bind_handle == NULL) {
13785 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13787 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13788 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13789 if (r->in.req == NULL) {
13790 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13792 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13793 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13795 if (flags & NDR_OUT) {
13796 if (r->out.level_out == NULL) {
13797 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13799 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13800 if (r->out.ctr == NULL) {
13801 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13803 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13804 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13805 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13807 return NDR_ERR_SUCCESS;
13810 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
13812 TALLOC_CTX *_mem_save_bind_handle_0;
13813 TALLOC_CTX *_mem_save_req_0;
13814 TALLOC_CTX *_mem_save_level_out_0;
13815 TALLOC_CTX *_mem_save_ctr_0;
13816 if (flags & NDR_IN) {
13817 ZERO_STRUCT(r->out);
13819 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13820 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13822 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13823 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13824 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13826 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13827 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13828 NDR_PULL_ALLOC(ndr, r->in.req);
13830 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13831 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13832 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13833 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13834 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13835 NDR_PULL_ALLOC(ndr, r->out.level_out);
13836 ZERO_STRUCTP(r->out.level_out);
13837 NDR_PULL_ALLOC(ndr, r->out.ctr);
13838 ZERO_STRUCTP(r->out.ctr);
13840 if (flags & NDR_OUT) {
13841 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13842 NDR_PULL_ALLOC(ndr, r->out.level_out);
13844 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13845 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13846 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13847 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13848 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13849 NDR_PULL_ALLOC(ndr, r->out.ctr);
13851 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13852 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13853 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13854 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13855 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13856 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13858 return NDR_ERR_SUCCESS;
13861 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
13863 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
13865 if (flags & NDR_SET_VALUES) {
13866 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13868 if (flags & NDR_IN) {
13869 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
13871 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13873 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13875 ndr_print_int32(ndr, "level", r->in.level);
13876 ndr_print_ptr(ndr, "req", r->in.req);
13878 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13879 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
13883 if (flags & NDR_OUT) {
13884 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
13886 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13888 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13890 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13892 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13893 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
13895 ndr_print_WERROR(ndr, "result", r->out.result);
13901 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13903 if (flags & NDR_IN) {
13904 if (r->in.bind_handle == NULL) {
13905 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13907 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13908 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13909 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13910 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13912 if (flags & NDR_OUT) {
13913 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13915 return NDR_ERR_SUCCESS;
13918 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
13920 TALLOC_CTX *_mem_save_bind_handle_0;
13921 if (flags & NDR_IN) {
13922 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13923 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13925 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13926 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13927 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13928 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13929 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13930 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13931 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13933 if (flags & NDR_OUT) {
13934 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13936 return NDR_ERR_SUCCESS;
13939 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13941 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
13943 if (flags & NDR_SET_VALUES) {
13944 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13946 if (flags & NDR_IN) {
13947 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
13949 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13951 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13953 ndr_print_int32(ndr, "level", r->in.level);
13954 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13955 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
13958 if (flags & NDR_OUT) {
13959 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
13961 ndr_print_WERROR(ndr, "result", r->out.result);
13967 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
13969 if (flags & NDR_IN) {
13970 if (r->in.bind_handle == NULL) {
13971 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13973 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13974 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13975 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13976 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13978 if (flags & NDR_OUT) {
13979 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13981 return NDR_ERR_SUCCESS;
13984 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
13986 TALLOC_CTX *_mem_save_bind_handle_0;
13987 if (flags & NDR_IN) {
13988 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13989 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13991 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13992 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13993 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13994 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13995 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13996 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13997 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13999 if (flags & NDR_OUT) {
14000 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14002 return NDR_ERR_SUCCESS;
14005 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
14007 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
14009 if (flags & NDR_SET_VALUES) {
14010 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14012 if (flags & NDR_IN) {
14013 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
14015 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14017 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14019 ndr_print_int32(ndr, "level", r->in.level);
14020 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14021 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
14024 if (flags & NDR_OUT) {
14025 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
14027 ndr_print_WERROR(ndr, "result", r->out.result);
14033 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
14035 if (flags & NDR_IN) {
14036 if (r->in.bind_handle == NULL) {
14037 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14039 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14040 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14041 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14042 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14044 if (flags & NDR_OUT) {
14045 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14047 return NDR_ERR_SUCCESS;
14050 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
14052 TALLOC_CTX *_mem_save_bind_handle_0;
14053 if (flags & NDR_IN) {
14054 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14055 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14057 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14058 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14059 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14060 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14061 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14062 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14063 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14065 if (flags & NDR_OUT) {
14066 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14068 return NDR_ERR_SUCCESS;
14071 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
14073 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
14075 if (flags & NDR_SET_VALUES) {
14076 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14078 if (flags & NDR_IN) {
14079 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
14081 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14083 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14085 ndr_print_int32(ndr, "level", r->in.level);
14086 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14087 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
14090 if (flags & NDR_OUT) {
14091 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
14093 ndr_print_WERROR(ndr, "result", r->out.result);
14099 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
14101 if (flags & NDR_IN) {
14102 if (r->in.bind_handle == NULL) {
14103 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14105 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14106 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14107 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14108 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14110 if (flags & NDR_OUT) {
14111 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14113 return NDR_ERR_SUCCESS;
14116 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
14118 TALLOC_CTX *_mem_save_bind_handle_0;
14119 if (flags & NDR_IN) {
14120 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14121 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14123 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14124 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14125 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14126 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14127 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14128 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14129 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14131 if (flags & NDR_OUT) {
14132 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14134 return NDR_ERR_SUCCESS;
14137 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
14139 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
14141 if (flags & NDR_SET_VALUES) {
14142 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14144 if (flags & NDR_IN) {
14145 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
14147 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14149 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14151 ndr_print_int32(ndr, "level", r->in.level);
14152 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14153 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
14156 if (flags & NDR_OUT) {
14157 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
14159 ndr_print_WERROR(ndr, "result", r->out.result);
14165 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14167 if (flags & NDR_IN) {
14169 if (flags & NDR_OUT) {
14170 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14172 return NDR_ERR_SUCCESS;
14175 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
14177 if (flags & NDR_IN) {
14179 if (flags & NDR_OUT) {
14180 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14182 return NDR_ERR_SUCCESS;
14185 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14187 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
14189 if (flags & NDR_SET_VALUES) {
14190 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14192 if (flags & NDR_IN) {
14193 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
14197 if (flags & NDR_OUT) {
14198 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
14200 ndr_print_WERROR(ndr, "result", r->out.result);
14206 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
14208 if (flags & NDR_IN) {
14209 if (r->in.bind_handle == NULL) {
14210 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14212 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14213 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14214 if (r->in.req == NULL) {
14215 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14217 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14218 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14220 if (flags & NDR_OUT) {
14221 if (r->out.level_out == NULL) {
14222 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14224 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14225 if (r->out.ctr == NULL) {
14226 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14228 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14229 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14230 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14232 return NDR_ERR_SUCCESS;
14235 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
14237 TALLOC_CTX *_mem_save_bind_handle_0;
14238 TALLOC_CTX *_mem_save_req_0;
14239 TALLOC_CTX *_mem_save_level_out_0;
14240 TALLOC_CTX *_mem_save_ctr_0;
14241 if (flags & NDR_IN) {
14242 ZERO_STRUCT(r->out);
14244 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14245 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14247 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14248 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14249 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14250 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14251 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14252 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14253 NDR_PULL_ALLOC(ndr, r->in.req);
14255 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14256 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14257 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14258 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14259 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14260 NDR_PULL_ALLOC(ndr, r->out.level_out);
14261 ZERO_STRUCTP(r->out.level_out);
14262 NDR_PULL_ALLOC(ndr, r->out.ctr);
14263 ZERO_STRUCTP(r->out.ctr);
14265 if (flags & NDR_OUT) {
14266 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14267 NDR_PULL_ALLOC(ndr, r->out.level_out);
14269 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14270 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14271 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14272 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14273 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14274 NDR_PULL_ALLOC(ndr, r->out.ctr);
14276 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14277 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14278 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14279 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14280 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14281 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14283 return NDR_ERR_SUCCESS;
14286 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
14288 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
14290 if (flags & NDR_SET_VALUES) {
14291 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14293 if (flags & NDR_IN) {
14294 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
14296 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14298 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14300 ndr_print_int32(ndr, "level", r->in.level);
14301 ndr_print_ptr(ndr, "req", r->in.req);
14303 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14304 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
14308 if (flags & NDR_OUT) {
14309 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
14311 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14313 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14315 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14317 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14318 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
14320 ndr_print_WERROR(ndr, "result", r->out.result);
14326 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14328 if (flags & NDR_IN) {
14330 if (flags & NDR_OUT) {
14331 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14333 return NDR_ERR_SUCCESS;
14336 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14338 if (flags & NDR_IN) {
14340 if (flags & NDR_OUT) {
14341 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14343 return NDR_ERR_SUCCESS;
14346 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14348 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
14350 if (flags & NDR_SET_VALUES) {
14351 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14353 if (flags & NDR_IN) {
14354 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14358 if (flags & NDR_OUT) {
14359 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14361 ndr_print_WERROR(ndr, "result", r->out.result);
14367 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14369 if (flags & NDR_IN) {
14370 if (r->in.bind_handle == NULL) {
14371 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14373 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14375 if (r->in.req == NULL) {
14376 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14378 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14379 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14381 if (flags & NDR_OUT) {
14382 if (r->out.level_out == NULL) {
14383 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14385 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14386 if (r->out.info == NULL) {
14387 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14389 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
14390 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14391 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14393 return NDR_ERR_SUCCESS;
14396 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
14398 TALLOC_CTX *_mem_save_bind_handle_0;
14399 TALLOC_CTX *_mem_save_req_0;
14400 TALLOC_CTX *_mem_save_level_out_0;
14401 TALLOC_CTX *_mem_save_info_0;
14402 if (flags & NDR_IN) {
14403 ZERO_STRUCT(r->out);
14405 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14406 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14408 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14409 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14410 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14411 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14412 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14413 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14414 NDR_PULL_ALLOC(ndr, r->in.req);
14416 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14417 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14418 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14419 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14420 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14421 NDR_PULL_ALLOC(ndr, r->out.level_out);
14422 ZERO_STRUCTP(r->out.level_out);
14423 NDR_PULL_ALLOC(ndr, r->out.info);
14424 ZERO_STRUCTP(r->out.info);
14426 if (flags & NDR_OUT) {
14427 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14428 NDR_PULL_ALLOC(ndr, r->out.level_out);
14430 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14431 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14432 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14433 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14434 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14435 NDR_PULL_ALLOC(ndr, r->out.info);
14437 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14438 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14439 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
14440 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14441 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14442 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14444 return NDR_ERR_SUCCESS;
14447 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14449 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
14451 if (flags & NDR_SET_VALUES) {
14452 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14454 if (flags & NDR_IN) {
14455 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
14457 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14459 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14461 ndr_print_uint32(ndr, "level", r->in.level);
14462 ndr_print_ptr(ndr, "req", r->in.req);
14464 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14465 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
14469 if (flags & NDR_OUT) {
14470 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
14472 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14474 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14476 ndr_print_ptr(ndr, "info", r->out.info);
14478 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
14479 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
14481 ndr_print_WERROR(ndr, "result", r->out.result);
14487 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
14489 if (flags & NDR_IN) {
14490 if (r->in.bind_handle == NULL) {
14491 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14493 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14494 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14495 if (r->in.req == NULL) {
14496 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14498 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14499 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14501 if (flags & NDR_OUT) {
14502 if (r->out.level_out == NULL) {
14503 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14505 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14506 if (r->out.ctr == NULL) {
14507 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14509 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14510 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14511 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14513 return NDR_ERR_SUCCESS;
14516 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
14518 TALLOC_CTX *_mem_save_bind_handle_0;
14519 TALLOC_CTX *_mem_save_req_0;
14520 TALLOC_CTX *_mem_save_level_out_0;
14521 TALLOC_CTX *_mem_save_ctr_0;
14522 if (flags & NDR_IN) {
14523 ZERO_STRUCT(r->out);
14525 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14526 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14528 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14529 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14530 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14531 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14532 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14533 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14534 NDR_PULL_ALLOC(ndr, r->in.req);
14536 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14537 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14538 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14539 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14540 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14541 NDR_PULL_ALLOC(ndr, r->out.level_out);
14542 ZERO_STRUCTP(r->out.level_out);
14543 NDR_PULL_ALLOC(ndr, r->out.ctr);
14544 ZERO_STRUCTP(r->out.ctr);
14546 if (flags & NDR_OUT) {
14547 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14548 NDR_PULL_ALLOC(ndr, r->out.level_out);
14550 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14551 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14552 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14553 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14554 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14555 NDR_PULL_ALLOC(ndr, r->out.ctr);
14557 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14558 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14559 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14560 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14561 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14562 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14564 return NDR_ERR_SUCCESS;
14567 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
14569 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
14571 if (flags & NDR_SET_VALUES) {
14572 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14574 if (flags & NDR_IN) {
14575 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
14577 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14579 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14581 ndr_print_int32(ndr, "level", r->in.level);
14582 ndr_print_ptr(ndr, "req", r->in.req);
14584 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14585 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
14589 if (flags & NDR_OUT) {
14590 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
14592 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14594 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14596 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14598 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14599 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
14601 ndr_print_WERROR(ndr, "result", r->out.result);
14607 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14609 if (flags & NDR_IN) {
14610 if (r->in.bind_handle == NULL) {
14611 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14613 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14614 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14615 if (r->in.req == NULL) {
14616 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14618 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14619 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14621 if (flags & NDR_OUT) {
14622 if (r->out.level_out == NULL) {
14623 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14625 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14626 if (r->out.res == NULL) {
14627 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14629 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14630 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14631 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14633 return NDR_ERR_SUCCESS;
14636 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
14638 TALLOC_CTX *_mem_save_bind_handle_0;
14639 TALLOC_CTX *_mem_save_req_0;
14640 TALLOC_CTX *_mem_save_level_out_0;
14641 TALLOC_CTX *_mem_save_res_0;
14642 if (flags & NDR_IN) {
14643 ZERO_STRUCT(r->out);
14645 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14646 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14648 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14649 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14650 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14651 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14652 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14653 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14654 NDR_PULL_ALLOC(ndr, r->in.req);
14656 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14657 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14658 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14659 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14661 NDR_PULL_ALLOC(ndr, r->out.level_out);
14662 ZERO_STRUCTP(r->out.level_out);
14663 NDR_PULL_ALLOC(ndr, r->out.res);
14664 ZERO_STRUCTP(r->out.res);
14666 if (flags & NDR_OUT) {
14667 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14668 NDR_PULL_ALLOC(ndr, r->out.level_out);
14670 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14671 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14672 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14673 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14674 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14675 NDR_PULL_ALLOC(ndr, r->out.res);
14677 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14678 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14679 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14680 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14681 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14682 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14684 return NDR_ERR_SUCCESS;
14687 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14689 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
14691 if (flags & NDR_SET_VALUES) {
14692 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14694 if (flags & NDR_IN) {
14695 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
14697 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14699 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14701 ndr_print_int32(ndr, "level", r->in.level);
14702 ndr_print_ptr(ndr, "req", r->in.req);
14704 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14705 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
14709 if (flags & NDR_OUT) {
14710 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
14712 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14714 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14716 ndr_print_ptr(ndr, "res", r->out.res);
14718 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14719 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
14721 ndr_print_WERROR(ndr, "result", r->out.result);
14727 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
14729 if (flags & NDR_IN) {
14730 if (r->in.bind_handle == NULL) {
14731 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14733 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14734 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14735 if (r->in.req == NULL) {
14736 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14738 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14739 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14741 if (flags & NDR_OUT) {
14742 if (r->out.level_out == NULL) {
14743 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14745 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14746 if (r->out.res == NULL) {
14747 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14749 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14750 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14751 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14753 return NDR_ERR_SUCCESS;
14756 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
14758 TALLOC_CTX *_mem_save_bind_handle_0;
14759 TALLOC_CTX *_mem_save_req_0;
14760 TALLOC_CTX *_mem_save_level_out_0;
14761 TALLOC_CTX *_mem_save_res_0;
14762 if (flags & NDR_IN) {
14763 ZERO_STRUCT(r->out);
14765 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14766 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14768 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14769 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14770 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14771 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14772 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14773 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14774 NDR_PULL_ALLOC(ndr, r->in.req);
14776 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14777 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14778 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14779 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14780 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14781 NDR_PULL_ALLOC(ndr, r->out.level_out);
14782 ZERO_STRUCTP(r->out.level_out);
14783 NDR_PULL_ALLOC(ndr, r->out.res);
14784 ZERO_STRUCTP(r->out.res);
14786 if (flags & NDR_OUT) {
14787 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14788 NDR_PULL_ALLOC(ndr, r->out.level_out);
14790 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14791 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14792 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14793 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14794 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14795 NDR_PULL_ALLOC(ndr, r->out.res);
14797 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14798 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14799 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14800 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14801 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14802 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14804 return NDR_ERR_SUCCESS;
14807 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
14809 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
14811 if (flags & NDR_SET_VALUES) {
14812 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14814 if (flags & NDR_IN) {
14815 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
14817 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14819 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14821 ndr_print_int32(ndr, "level", r->in.level);
14822 ndr_print_ptr(ndr, "req", r->in.req);
14824 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14825 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
14829 if (flags & NDR_OUT) {
14830 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
14832 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14834 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14836 ndr_print_ptr(ndr, "res", r->out.res);
14838 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14839 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
14841 ndr_print_WERROR(ndr, "result", r->out.result);
14847 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14849 if (flags & NDR_IN) {
14851 if (flags & NDR_OUT) {
14852 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14854 return NDR_ERR_SUCCESS;
14857 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14859 if (flags & NDR_IN) {
14861 if (flags & NDR_OUT) {
14862 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14864 return NDR_ERR_SUCCESS;
14867 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14869 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
14871 if (flags & NDR_SET_VALUES) {
14872 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14874 if (flags & NDR_IN) {
14875 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14879 if (flags & NDR_OUT) {
14880 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14882 ndr_print_WERROR(ndr, "result", r->out.result);
14888 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14890 if (flags & NDR_IN) {
14891 if (r->in.bind_handle == NULL) {
14892 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14894 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14895 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14896 if (r->in.req == NULL) {
14897 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14899 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14900 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14902 if (flags & NDR_OUT) {
14903 if (r->out.level_out == NULL) {
14904 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14906 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14907 if (r->out.ctr == NULL) {
14908 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14910 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14911 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14912 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14914 return NDR_ERR_SUCCESS;
14917 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
14919 TALLOC_CTX *_mem_save_bind_handle_0;
14920 TALLOC_CTX *_mem_save_req_0;
14921 TALLOC_CTX *_mem_save_level_out_0;
14922 TALLOC_CTX *_mem_save_ctr_0;
14923 if (flags & NDR_IN) {
14924 ZERO_STRUCT(r->out);
14926 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14927 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14929 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14930 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14931 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14932 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14933 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14934 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14935 NDR_PULL_ALLOC(ndr, r->in.req);
14937 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14938 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14939 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14940 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14941 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14942 NDR_PULL_ALLOC(ndr, r->out.level_out);
14943 ZERO_STRUCTP(r->out.level_out);
14944 NDR_PULL_ALLOC(ndr, r->out.ctr);
14945 ZERO_STRUCTP(r->out.ctr);
14947 if (flags & NDR_OUT) {
14948 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14949 NDR_PULL_ALLOC(ndr, r->out.level_out);
14951 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14952 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14953 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14954 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14955 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14956 NDR_PULL_ALLOC(ndr, r->out.ctr);
14958 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14959 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14960 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14961 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14962 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14963 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14965 return NDR_ERR_SUCCESS;
14968 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14970 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
14972 if (flags & NDR_SET_VALUES) {
14973 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14975 if (flags & NDR_IN) {
14976 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
14978 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14980 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14982 ndr_print_int32(ndr, "level", r->in.level);
14983 ndr_print_ptr(ndr, "req", r->in.req);
14985 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14986 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
14990 if (flags & NDR_OUT) {
14991 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
14993 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14995 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14997 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14999 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15000 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
15002 ndr_print_WERROR(ndr, "result", r->out.result);
15008 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
15010 if (flags & NDR_IN) {
15011 if (r->in.bind_handle == NULL) {
15012 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15014 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15015 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15016 if (r->in.req == NULL) {
15017 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15019 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15020 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15022 if (flags & NDR_OUT) {
15023 if (r->out.level_out == NULL) {
15024 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15026 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15027 if (r->out.ctr == NULL) {
15028 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15030 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15031 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15032 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15034 return NDR_ERR_SUCCESS;
15037 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
15039 TALLOC_CTX *_mem_save_bind_handle_0;
15040 TALLOC_CTX *_mem_save_req_0;
15041 TALLOC_CTX *_mem_save_level_out_0;
15042 TALLOC_CTX *_mem_save_ctr_0;
15043 if (flags & NDR_IN) {
15044 ZERO_STRUCT(r->out);
15046 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15047 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15049 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15050 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15051 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15052 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15053 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15054 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15055 NDR_PULL_ALLOC(ndr, r->in.req);
15057 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15058 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15059 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15060 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15061 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15062 NDR_PULL_ALLOC(ndr, r->out.level_out);
15063 ZERO_STRUCTP(r->out.level_out);
15064 NDR_PULL_ALLOC(ndr, r->out.ctr);
15065 ZERO_STRUCTP(r->out.ctr);
15067 if (flags & NDR_OUT) {
15068 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15069 NDR_PULL_ALLOC(ndr, r->out.level_out);
15071 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15072 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15073 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15075 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15076 NDR_PULL_ALLOC(ndr, r->out.ctr);
15078 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15079 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15080 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15081 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15082 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15083 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15085 return NDR_ERR_SUCCESS;
15088 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
15090 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
15092 if (flags & NDR_SET_VALUES) {
15093 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15095 if (flags & NDR_IN) {
15096 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
15098 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15100 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15102 ndr_print_int32(ndr, "level", r->in.level);
15103 ndr_print_ptr(ndr, "req", r->in.req);
15105 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15106 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
15110 if (flags & NDR_OUT) {
15111 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
15113 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15115 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15117 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15119 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15120 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
15122 ndr_print_WERROR(ndr, "result", r->out.result);
15128 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
15130 if (flags & NDR_IN) {
15131 if (r->in.bind_handle == NULL) {
15132 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15134 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15136 if (r->in.req == NULL) {
15137 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15139 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15140 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15142 if (flags & NDR_OUT) {
15143 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15145 return NDR_ERR_SUCCESS;
15148 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
15150 TALLOC_CTX *_mem_save_bind_handle_0;
15151 TALLOC_CTX *_mem_save_req_0;
15152 if (flags & NDR_IN) {
15153 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15154 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15156 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15157 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15158 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15160 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15161 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15162 NDR_PULL_ALLOC(ndr, r->in.req);
15164 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15165 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15166 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15167 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15168 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15170 if (flags & NDR_OUT) {
15171 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15173 return NDR_ERR_SUCCESS;
15176 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
15178 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
15180 if (flags & NDR_SET_VALUES) {
15181 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15183 if (flags & NDR_IN) {
15184 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
15186 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15188 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15190 ndr_print_uint32(ndr, "level", r->in.level);
15191 ndr_print_ptr(ndr, "req", r->in.req);
15193 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15194 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
15198 if (flags & NDR_OUT) {
15199 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
15201 ndr_print_WERROR(ndr, "result", r->out.result);
15207 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15209 if (flags & NDR_IN) {
15210 if (r->in.bind_handle == NULL) {
15211 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15213 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15214 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
15215 if (r->in.req == NULL) {
15216 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15218 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15219 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15221 if (flags & NDR_OUT) {
15222 if (r->out.info_type == NULL) {
15223 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15225 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
15226 if (r->out.info == NULL) {
15227 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15229 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
15230 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15231 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15233 return NDR_ERR_SUCCESS;
15236 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
15238 TALLOC_CTX *_mem_save_bind_handle_0;
15239 TALLOC_CTX *_mem_save_req_0;
15240 TALLOC_CTX *_mem_save_info_type_0;
15241 TALLOC_CTX *_mem_save_info_0;
15242 if (flags & NDR_IN) {
15243 ZERO_STRUCT(r->out);
15245 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15246 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15248 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15249 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15250 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15251 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15252 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
15253 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15254 NDR_PULL_ALLOC(ndr, r->in.req);
15256 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15257 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15258 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15259 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15260 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15261 NDR_PULL_ALLOC(ndr, r->out.info_type);
15262 ZERO_STRUCTP(r->out.info_type);
15263 NDR_PULL_ALLOC(ndr, r->out.info);
15264 ZERO_STRUCTP(r->out.info);
15266 if (flags & NDR_OUT) {
15267 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15268 NDR_PULL_ALLOC(ndr, r->out.info_type);
15270 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
15271 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
15272 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
15273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
15274 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15275 NDR_PULL_ALLOC(ndr, r->out.info);
15277 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15278 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15279 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
15280 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15282 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15284 return NDR_ERR_SUCCESS;
15287 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15289 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
15291 if (flags & NDR_SET_VALUES) {
15292 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15294 if (flags & NDR_IN) {
15295 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
15297 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15299 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15301 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
15302 ndr_print_ptr(ndr, "req", r->in.req);
15304 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15305 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
15309 if (flags & NDR_OUT) {
15310 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
15312 ndr_print_ptr(ndr, "info_type", r->out.info_type);
15314 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
15316 ndr_print_ptr(ndr, "info", r->out.info);
15318 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
15319 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
15321 ndr_print_WERROR(ndr, "result", r->out.result);
15327 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15329 if (flags & NDR_IN) {
15331 if (flags & NDR_OUT) {
15332 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15334 return NDR_ERR_SUCCESS;
15337 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
15339 if (flags & NDR_IN) {
15341 if (flags & NDR_OUT) {
15342 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15344 return NDR_ERR_SUCCESS;
15347 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15349 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
15351 if (flags & NDR_SET_VALUES) {
15352 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15354 if (flags & NDR_IN) {
15355 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
15359 if (flags & NDR_OUT) {
15360 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
15362 ndr_print_WERROR(ndr, "result", r->out.result);
15368 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
15370 if (flags & NDR_IN) {
15371 if (r->in.bind_handle == NULL) {
15372 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15374 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15375 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15376 if (r->in.req == NULL) {
15377 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15379 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15380 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15382 if (flags & NDR_OUT) {
15383 if (r->out.level_out == NULL) {
15384 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15386 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15387 if (r->out.ctr == NULL) {
15388 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15390 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15391 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15392 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15394 return NDR_ERR_SUCCESS;
15397 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
15399 TALLOC_CTX *_mem_save_bind_handle_0;
15400 TALLOC_CTX *_mem_save_req_0;
15401 TALLOC_CTX *_mem_save_level_out_0;
15402 TALLOC_CTX *_mem_save_ctr_0;
15403 if (flags & NDR_IN) {
15404 ZERO_STRUCT(r->out);
15406 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15407 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15409 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15410 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15411 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15412 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15413 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15414 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15415 NDR_PULL_ALLOC(ndr, r->in.req);
15417 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15418 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15419 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15420 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15421 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15422 NDR_PULL_ALLOC(ndr, r->out.level_out);
15423 ZERO_STRUCTP(r->out.level_out);
15424 NDR_PULL_ALLOC(ndr, r->out.ctr);
15425 ZERO_STRUCTP(r->out.ctr);
15427 if (flags & NDR_OUT) {
15428 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15429 NDR_PULL_ALLOC(ndr, r->out.level_out);
15431 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15432 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15433 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15434 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15435 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15436 NDR_PULL_ALLOC(ndr, r->out.ctr);
15438 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15439 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15440 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15441 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15442 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15443 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15445 return NDR_ERR_SUCCESS;
15448 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
15450 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
15452 if (flags & NDR_SET_VALUES) {
15453 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15455 if (flags & NDR_IN) {
15456 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
15458 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15460 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15462 ndr_print_int32(ndr, "level", r->in.level);
15463 ndr_print_ptr(ndr, "req", r->in.req);
15465 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15466 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
15470 if (flags & NDR_OUT) {
15471 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
15473 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15475 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15477 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15479 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15480 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
15482 ndr_print_WERROR(ndr, "result", r->out.result);
15488 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15490 if (flags & NDR_IN) {
15492 if (flags & NDR_OUT) {
15493 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15495 return NDR_ERR_SUCCESS;
15498 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15500 if (flags & NDR_IN) {
15502 if (flags & NDR_OUT) {
15503 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15505 return NDR_ERR_SUCCESS;
15508 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15510 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15512 if (flags & NDR_SET_VALUES) {
15513 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15515 if (flags & NDR_IN) {
15516 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15520 if (flags & NDR_OUT) {
15521 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15523 ndr_print_WERROR(ndr, "result", r->out.result);
15529 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15531 if (flags & NDR_IN) {
15533 if (flags & NDR_OUT) {
15534 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15536 return NDR_ERR_SUCCESS;
15539 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15541 if (flags & NDR_IN) {
15543 if (flags & NDR_OUT) {
15544 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15546 return NDR_ERR_SUCCESS;
15549 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15551 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
15553 if (flags & NDR_SET_VALUES) {
15554 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15556 if (flags & NDR_IN) {
15557 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15561 if (flags & NDR_OUT) {
15562 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15564 ndr_print_WERROR(ndr, "result", r->out.result);
15570 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
15572 if (flags & NDR_IN) {
15573 if (r->in.bind_handle == NULL) {
15574 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15576 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15577 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15578 if (r->in.req == NULL) {
15579 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15581 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15582 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15584 if (flags & NDR_OUT) {
15585 if (r->out.level_out == NULL) {
15586 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15588 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15589 if (r->out.ctr == NULL) {
15590 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15592 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15593 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15594 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15596 return NDR_ERR_SUCCESS;
15599 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
15601 TALLOC_CTX *_mem_save_bind_handle_0;
15602 TALLOC_CTX *_mem_save_req_0;
15603 TALLOC_CTX *_mem_save_level_out_0;
15604 TALLOC_CTX *_mem_save_ctr_0;
15605 if (flags & NDR_IN) {
15606 ZERO_STRUCT(r->out);
15608 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15609 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15611 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15612 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15613 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15614 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15615 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15616 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15617 NDR_PULL_ALLOC(ndr, r->in.req);
15619 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15620 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15621 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15622 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15623 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15624 NDR_PULL_ALLOC(ndr, r->out.level_out);
15625 ZERO_STRUCTP(r->out.level_out);
15626 NDR_PULL_ALLOC(ndr, r->out.ctr);
15627 ZERO_STRUCTP(r->out.ctr);
15629 if (flags & NDR_OUT) {
15630 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15631 NDR_PULL_ALLOC(ndr, r->out.level_out);
15633 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15634 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15635 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15636 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15637 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15638 NDR_PULL_ALLOC(ndr, r->out.ctr);
15640 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15641 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15642 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15643 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15645 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15647 return NDR_ERR_SUCCESS;
15650 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
15652 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
15654 if (flags & NDR_SET_VALUES) {
15655 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15657 if (flags & NDR_IN) {
15658 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
15660 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15662 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15664 ndr_print_int32(ndr, "level", r->in.level);
15665 ndr_print_ptr(ndr, "req", r->in.req);
15667 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15668 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
15672 if (flags & NDR_OUT) {
15673 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
15675 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15677 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15679 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15681 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15682 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
15684 ndr_print_WERROR(ndr, "result", r->out.result);
15690 static const struct ndr_interface_call drsuapi_calls[] = {
15693 sizeof(struct drsuapi_DsBind),
15694 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
15695 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
15696 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
15700 "drsuapi_DsUnbind",
15701 sizeof(struct drsuapi_DsUnbind),
15702 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
15703 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
15704 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
15708 "drsuapi_DsReplicaSync",
15709 sizeof(struct drsuapi_DsReplicaSync),
15710 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
15711 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
15712 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
15716 "drsuapi_DsGetNCChanges",
15717 sizeof(struct drsuapi_DsGetNCChanges),
15718 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
15719 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
15720 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
15724 "drsuapi_DsReplicaUpdateRefs",
15725 sizeof(struct drsuapi_DsReplicaUpdateRefs),
15726 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
15727 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
15728 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
15732 "drsuapi_DsReplicaAdd",
15733 sizeof(struct drsuapi_DsReplicaAdd),
15734 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
15735 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
15736 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
15740 "drsuapi_DsReplicaDel",
15741 sizeof(struct drsuapi_DsReplicaDel),
15742 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
15743 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
15744 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
15748 "drsuapi_DsReplicaMod",
15749 sizeof(struct drsuapi_DsReplicaMod),
15750 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
15751 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
15752 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
15756 "DRSUAPI_VERIFY_NAMES",
15757 sizeof(struct DRSUAPI_VERIFY_NAMES),
15758 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
15759 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
15760 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
15764 "drsuapi_DsGetMemberships",
15765 sizeof(struct drsuapi_DsGetMemberships),
15766 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
15767 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
15768 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
15772 "DRSUAPI_INTER_DOMAIN_MOVE",
15773 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
15774 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
15775 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
15776 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
15780 "drsuapi_DsGetNT4ChangeLog",
15781 sizeof(struct drsuapi_DsGetNT4ChangeLog),
15782 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
15783 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
15784 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
15788 "drsuapi_DsCrackNames",
15789 sizeof(struct drsuapi_DsCrackNames),
15790 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
15791 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
15792 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
15796 "drsuapi_DsWriteAccountSpn",
15797 sizeof(struct drsuapi_DsWriteAccountSpn),
15798 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
15799 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
15800 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
15804 "drsuapi_DsRemoveDSServer",
15805 sizeof(struct drsuapi_DsRemoveDSServer),
15806 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
15807 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
15808 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
15812 "DRSUAPI_REMOVE_DS_DOMAIN",
15813 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
15814 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
15815 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
15816 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
15820 "drsuapi_DsGetDomainControllerInfo",
15821 sizeof(struct drsuapi_DsGetDomainControllerInfo),
15822 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
15823 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
15824 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
15828 "drsuapi_DsAddEntry",
15829 sizeof(struct drsuapi_DsAddEntry),
15830 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
15831 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
15832 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
15836 "drsuapi_DsExecuteKCC",
15837 sizeof(struct drsuapi_DsExecuteKCC),
15838 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
15839 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
15840 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
15844 "drsuapi_DsReplicaGetInfo",
15845 sizeof(struct drsuapi_DsReplicaGetInfo),
15846 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
15847 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
15848 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
15852 "DRSUAPI_ADD_SID_HISTORY",
15853 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
15854 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
15855 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
15856 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
15860 "drsuapi_DsGetMemberships2",
15861 sizeof(struct drsuapi_DsGetMemberships2),
15862 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
15863 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
15864 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
15868 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15869 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
15870 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15871 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15872 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15876 "DRSUAPI_GET_OBJECT_EXISTENCE",
15877 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
15878 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
15879 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
15880 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
15884 "drsuapi_QuerySitesByCost",
15885 sizeof(struct drsuapi_QuerySitesByCost),
15886 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
15887 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
15888 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
15891 { NULL, 0, NULL, NULL, NULL, false }
15894 static const char * const drsuapi_endpoint_strings[] = {
15895 "ncacn_np:[\\pipe\\lsass]",
15896 "ncacn_np:[\\pipe\\protected_storage]",
15901 static const struct ndr_interface_string_array drsuapi_endpoints = {
15903 .names = drsuapi_endpoint_strings
15906 static const char * const drsuapi_authservice_strings[] = {
15910 static const struct ndr_interface_string_array drsuapi_authservices = {
15912 .names = drsuapi_authservice_strings
15916 const struct ndr_interface_table ndr_table_drsuapi = {
15919 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15920 NDR_DRSUAPI_VERSION
15922 .helpstring = NDR_DRSUAPI_HELPSTRING,
15924 .calls = drsuapi_calls,
15925 .endpoints = &drsuapi_endpoints,
15926 .authservices = &drsuapi_authservices