Remove erroneous 'presult = NULL' changes. Now presult only gets set
[Samba/fernandojvsilva.git] / librpc / gen_ndr / ndr_drsuapi.c
blobf09affcfb53d9361f419243c41674ddbbd99cd96
1 /* parser auto-generated by pidl */
3 #include "includes.h"
4 #include "../librpc/gen_ndr/ndr_drsuapi.h"
6 #include "librpc/gen_ndr/ndr_security.h"
7 #include "librpc/gen_ndr/ndr_misc.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/ndr/ndr_compression.h"
10 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
12 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
13 return NDR_ERR_SUCCESS;
16 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
18 uint32_t v;
19 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
20 *r = v;
21 return NDR_ERR_SUCCESS;
24 _PUBLIC_ void ndr_print_drsuapi_DrsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
26 ndr_print_uint32(ndr, name, r);
27 ndr->depth++;
28 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_OP", DRSUAPI_DRS_ASYNC_OP, r);
29 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GETCHG_CHECK", DRSUAPI_DRS_GETCHG_CHECK, r);
30 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF, r);
31 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL, r);
32 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF, r);
33 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP, r);
34 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC, r);
35 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC, r);
36 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP, r);
37 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP, r);
38 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR, r);
39 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC, r);
40 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY, r);
41 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC, r);
42 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE, r);
43 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY, r);
44 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_BYNAME", DRSUAPI_DRS_SYNC_BYNAME, r);
45 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK, r);
46 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW, r);
47 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE, r);
48 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET, r);
49 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN, r);
50 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING, r);
51 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED, r);
52 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC, r);
53 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC, r);
54 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_USE_COMPRESSION", DRSUAPI_DRS_USE_COMPRESSION, r);
55 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_NOTIFY", DRSUAPI_DRS_NEVER_NOTIFY, r);
56 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_PAS", DRSUAPI_DRS_SYNC_PAS, r);
57 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP", DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP, r);
58 ndr->depth--;
61 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
63 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
64 return NDR_ERR_SUCCESS;
67 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
69 uint32_t v;
70 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
71 *r = v;
72 return NDR_ERR_SUCCESS;
75 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensions(struct ndr_print *ndr, const char *name, uint32_t r)
77 ndr_print_uint32(ndr, name, r);
78 ndr->depth++;
79 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE, r);
80 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION, r);
81 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI, r);
82 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2, r);
83 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS, r);
84 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1, r);
85 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION, r);
86 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_00000080", DRSUAPI_SUPPORTED_EXTENSION_00000080, r);
87 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE, r);
88 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2, r);
89 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION, r);
90 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2, r);
91 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD", DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD, r);
92 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND, r);
93 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO, r);
94 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION, r);
95 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01, r);
96 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP, r);
97 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY, r);
98 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3, r);
99 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_00100000", DRSUAPI_SUPPORTED_EXTENSION_00100000, r);
100 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2, r);
101 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6, r);
102 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS, r);
103 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8, r);
104 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5, r);
105 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6, r);
106 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3, r);
107 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7, r);
108 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT, r);
109 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS, r);
110 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_20000000", DRSUAPI_SUPPORTED_EXTENSION_20000000, r);
111 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_40000000", DRSUAPI_SUPPORTED_EXTENSION_40000000, r);
112 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_80000000", DRSUAPI_SUPPORTED_EXTENSION_80000000, r);
113 ndr->depth--;
116 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push *ndr, int ndr_flags, uint32_t r)
118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
119 return NDR_ERR_SUCCESS;
122 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
124 uint32_t v;
125 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
126 *r = v;
127 return NDR_ERR_SUCCESS;
130 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print *ndr, const char *name, uint32_t r)
132 ndr_print_uint32(ndr, name, r);
133 ndr->depth++;
134 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM, r);
135 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2, r);
136 ndr->depth--;
139 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo24(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo24 *r)
141 if (ndr_flags & NDR_SCALARS) {
142 NDR_CHECK(ndr_push_align(ndr, 4));
143 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
144 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
146 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
148 if (ndr_flags & NDR_BUFFERS) {
150 return NDR_ERR_SUCCESS;
153 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo24 *r)
155 if (ndr_flags & NDR_SCALARS) {
156 NDR_CHECK(ndr_pull_align(ndr, 4));
157 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
158 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
159 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
160 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
162 if (ndr_flags & NDR_BUFFERS) {
164 return NDR_ERR_SUCCESS;
167 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo24 *r)
169 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo24");
170 ndr->depth++;
171 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
172 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
173 ndr_print_uint32(ndr, "pid", r->pid);
174 ndr->depth--;
177 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo28(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo28 *r)
179 if (ndr_flags & NDR_SCALARS) {
180 NDR_CHECK(ndr_push_align(ndr, 4));
181 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
182 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
185 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
187 if (ndr_flags & NDR_BUFFERS) {
189 return NDR_ERR_SUCCESS;
192 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo28 *r)
194 if (ndr_flags & NDR_SCALARS) {
195 NDR_CHECK(ndr_pull_align(ndr, 4));
196 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
197 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
198 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
199 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
200 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
202 if (ndr_flags & NDR_BUFFERS) {
204 return NDR_ERR_SUCCESS;
207 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo28 *r)
209 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo28");
210 ndr->depth++;
211 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
212 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
213 ndr_print_uint32(ndr, "pid", r->pid);
214 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
215 ndr->depth--;
218 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo48(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo48 *r)
220 if (ndr_flags & NDR_SCALARS) {
221 NDR_CHECK(ndr_push_align(ndr, 4));
222 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
223 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
225 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
226 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
227 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
228 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
230 if (ndr_flags & NDR_BUFFERS) {
232 return NDR_ERR_SUCCESS;
235 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo48 *r)
237 if (ndr_flags & NDR_SCALARS) {
238 NDR_CHECK(ndr_pull_align(ndr, 4));
239 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
240 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
241 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
242 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
243 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
244 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
245 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
247 if (ndr_flags & NDR_BUFFERS) {
249 return NDR_ERR_SUCCESS;
252 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo48 *r)
254 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo48");
255 ndr->depth++;
256 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
257 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
258 ndr_print_uint32(ndr, "pid", r->pid);
259 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
260 ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
261 ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid);
262 ndr->depth--;
265 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoFallBack *r)
267 if (ndr_flags & NDR_SCALARS) {
268 NDR_CHECK(ndr_push_align(ndr, 4));
270 uint32_t _flags_save_DATA_BLOB = ndr->flags;
271 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
272 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->info));
273 ndr->flags = _flags_save_DATA_BLOB;
275 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
277 if (ndr_flags & NDR_BUFFERS) {
279 return NDR_ERR_SUCCESS;
282 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoFallBack *r)
284 if (ndr_flags & NDR_SCALARS) {
285 NDR_CHECK(ndr_pull_align(ndr, 4));
287 uint32_t _flags_save_DATA_BLOB = ndr->flags;
288 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
289 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->info));
290 ndr->flags = _flags_save_DATA_BLOB;
292 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
294 if (ndr_flags & NDR_BUFFERS) {
296 return NDR_ERR_SUCCESS;
299 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoFallBack *r)
301 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoFallBack");
302 ndr->depth++;
303 ndr_print_DATA_BLOB(ndr, "info", r->info);
304 ndr->depth--;
307 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsBindInfo *r)
309 if (ndr_flags & NDR_SCALARS) {
310 int level = ndr_push_get_switch_value(ndr, r);
311 NDR_CHECK(ndr_push_union_align(ndr, 1));
312 switch (level) {
313 case 24: {
315 struct ndr_push *_ndr_info24;
316 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info24, 4, -1));
317 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
318 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info24, 4, -1));
320 break; }
322 case 28: {
324 struct ndr_push *_ndr_info28;
325 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info28, 4, -1));
326 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
327 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info28, 4, -1));
329 break; }
331 case 48: {
333 struct ndr_push *_ndr_info48;
334 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info48, 4, -1));
335 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
336 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info48, 4, -1));
338 break; }
340 default: {
342 struct ndr_push *_ndr_FallBack;
343 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
344 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
345 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_FallBack, 4, -1));
347 break; }
351 if (ndr_flags & NDR_BUFFERS) {
352 int level = ndr_push_get_switch_value(ndr, r);
353 switch (level) {
354 case 24:
355 break;
357 case 28:
358 break;
360 case 48:
361 break;
363 default:
364 break;
368 return NDR_ERR_SUCCESS;
371 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsBindInfo *r)
373 int level;
374 level = ndr_pull_get_switch_value(ndr, r);
375 if (ndr_flags & NDR_SCALARS) {
376 NDR_CHECK(ndr_pull_union_align(ndr, 1));
377 switch (level) {
378 case 24: {
380 struct ndr_pull *_ndr_info24;
381 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info24, 4, -1));
382 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
383 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info24, 4, -1));
385 break; }
387 case 28: {
389 struct ndr_pull *_ndr_info28;
390 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info28, 4, -1));
391 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
392 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info28, 4, -1));
394 break; }
396 case 48: {
398 struct ndr_pull *_ndr_info48;
399 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info48, 4, -1));
400 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
401 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info48, 4, -1));
403 break; }
405 default: {
407 struct ndr_pull *_ndr_FallBack;
408 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
409 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
410 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_FallBack, 4, -1));
412 break; }
416 if (ndr_flags & NDR_BUFFERS) {
417 switch (level) {
418 case 24:
419 break;
421 case 28:
422 break;
424 case 48:
425 break;
427 default:
428 break;
432 return NDR_ERR_SUCCESS;
435 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsBindInfo *r)
437 int level;
438 level = ndr_print_get_switch_value(ndr, r);
439 ndr_print_union(ndr, name, level, "drsuapi_DsBindInfo");
440 switch (level) {
441 case 24:
442 ndr_print_drsuapi_DsBindInfo24(ndr, "info24", &r->info24);
443 break;
445 case 28:
446 ndr_print_drsuapi_DsBindInfo28(ndr, "info28", &r->info28);
447 break;
449 case 48:
450 ndr_print_drsuapi_DsBindInfo48(ndr, "info48", &r->info48);
451 break;
453 default:
454 ndr_print_drsuapi_DsBindInfoFallBack(ndr, "FallBack", &r->FallBack);
455 break;
460 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoCtr *r)
462 if (ndr_flags & NDR_SCALARS) {
463 NDR_CHECK(ndr_push_align(ndr, 4));
464 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
465 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->length));
466 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
467 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
469 if (ndr_flags & NDR_BUFFERS) {
471 return NDR_ERR_SUCCESS;
474 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoCtr *r)
476 if (ndr_flags & NDR_SCALARS) {
477 NDR_CHECK(ndr_pull_align(ndr, 4));
478 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
479 if (r->length < 1 || r->length > 10000) {
480 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
482 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->length));
483 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
484 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
486 if (ndr_flags & NDR_BUFFERS) {
488 return NDR_ERR_SUCCESS;
491 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoCtr *r)
493 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoCtr");
494 ndr->depth++;
495 ndr_print_uint32(ndr, "length", r->length);
496 ndr_print_set_switch_value(ndr, &r->info, r->length);
497 ndr_print_drsuapi_DsBindInfo(ndr, "info", &r->info);
498 ndr->depth--;
501 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier *r)
503 if (ndr_flags & NDR_SCALARS) {
504 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->dn) + 1));
505 NDR_CHECK(ndr_push_align(ndr, 4));
506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->iconv_convenience, ndr->flags) - 4));
507 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
508 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
509 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
510 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
511 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
512 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
514 if (ndr_flags & NDR_BUFFERS) {
515 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
517 return NDR_ERR_SUCCESS;
520 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier *r)
522 if (ndr_flags & NDR_SCALARS) {
523 NDR_CHECK(ndr_pull_array_size(ndr, &r->dn));
524 NDR_CHECK(ndr_pull_align(ndr, 4));
525 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
526 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
527 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
528 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
529 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
530 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, ndr_get_array_size(ndr, &r->dn), sizeof(uint16_t), CH_UTF16));
531 if (r->dn) {
532 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->dn, r->__ndr_size_dn + 1));
534 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
536 if (ndr_flags & NDR_BUFFERS) {
537 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
539 return NDR_ERR_SUCCESS;
542 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier *r)
544 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier");
545 ndr->depth++;
546 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->iconv_convenience, ndr->flags) - 4:r->__ndr_size);
547 ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid);
548 ndr_print_GUID(ndr, "guid", &r->guid);
549 ndr_print_dom_sid28(ndr, "sid", &r->sid);
550 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
551 ndr_print_string(ndr, "dn", r->dn);
552 ndr->depth--;
555 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier *r, struct smb_iconv_convenience *ic, int flags)
557 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier, ic);
560 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
562 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
563 return NDR_ERR_SUCCESS;
566 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
568 uint32_t v;
569 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
570 *r = v;
571 return NDR_ERR_SUCCESS;
574 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncOptions(struct ndr_print *ndr, const char *name, uint32_t r)
576 ndr_print_uint32(ndr, name, r);
577 ndr->depth++;
578 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION, r);
579 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_WRITEABLE", DRSUAPI_DS_REPLICA_SYNC_WRITEABLE, r);
580 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PERIODIC", DRSUAPI_DS_REPLICA_SYNC_PERIODIC, r);
581 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING", DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING, r);
582 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES", DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES, r);
583 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL", DRSUAPI_DS_REPLICA_SYNC_FULL, r);
584 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_URGENT", DRSUAPI_DS_REPLICA_SYNC_URGENT, r);
585 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD", DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD, r);
586 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FORCE", DRSUAPI_DS_REPLICA_SYNC_FORCE, r);
587 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE", DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE, r);
588 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED", DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED, r);
589 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_TWO_WAY", DRSUAPI_DS_REPLICA_SYNC_TWO_WAY, r);
590 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY", DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY, r);
591 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL", DRSUAPI_DS_REPLICA_SYNC_INITIAL, r);
592 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION", DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION, r);
593 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ABANDONED", DRSUAPI_DS_REPLICA_SYNC_ABANDONED, r);
594 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS, r);
595 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET, r);
596 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_REQUEUE", DRSUAPI_DS_REPLICA_SYNC_REQUEUE, r);
597 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION", DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION, r);
598 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA, r);
599 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_CRITICAL", DRSUAPI_DS_REPLICA_SYNC_CRITICAL, r);
600 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS, r);
601 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PREEMPTED", DRSUAPI_DS_REPLICA_SYNC_PREEMPTED, r);
602 ndr->depth--;
605 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r)
607 if (ndr_flags & NDR_SCALARS) {
608 NDR_CHECK(ndr_push_align(ndr, 5));
609 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
610 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
612 uint32_t _flags_save_string = ndr->flags;
613 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
614 NDR_CHECK(ndr_push_unique_ptr(ndr, r->other_info));
615 ndr->flags = _flags_save_string;
617 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->options));
618 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
620 if (ndr_flags & NDR_BUFFERS) {
621 if (r->naming_context) {
622 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
625 uint32_t _flags_save_string = ndr->flags;
626 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
627 if (r->other_info) {
628 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->other_info));
630 ndr->flags = _flags_save_string;
633 return NDR_ERR_SUCCESS;
636 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r)
638 uint32_t _ptr_naming_context;
639 TALLOC_CTX *_mem_save_naming_context_0;
640 uint32_t _ptr_other_info;
641 TALLOC_CTX *_mem_save_other_info_0;
642 if (ndr_flags & NDR_SCALARS) {
643 NDR_CHECK(ndr_pull_align(ndr, 5));
644 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
645 if (_ptr_naming_context) {
646 NDR_PULL_ALLOC(ndr, r->naming_context);
647 } else {
648 r->naming_context = NULL;
650 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
652 uint32_t _flags_save_string = ndr->flags;
653 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
654 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info));
655 if (_ptr_other_info) {
656 NDR_PULL_ALLOC(ndr, r->other_info);
657 } else {
658 r->other_info = NULL;
660 ndr->flags = _flags_save_string;
662 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->options));
663 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
665 if (ndr_flags & NDR_BUFFERS) {
666 if (r->naming_context) {
667 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
668 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
669 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
670 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
673 uint32_t _flags_save_string = ndr->flags;
674 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
675 if (r->other_info) {
676 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
677 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
678 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->other_info));
679 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
681 ndr->flags = _flags_save_string;
684 return NDR_ERR_SUCCESS;
687 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r)
689 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1");
690 ndr->depth++;
691 ndr_print_ptr(ndr, "naming_context", r->naming_context);
692 ndr->depth++;
693 if (r->naming_context) {
694 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
696 ndr->depth--;
697 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
698 ndr_print_ptr(ndr, "other_info", r->other_info);
699 ndr->depth++;
700 if (r->other_info) {
701 ndr_print_string(ndr, "other_info", r->other_info);
703 ndr->depth--;
704 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "options", r->options);
705 ndr->depth--;
708 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r)
710 if (ndr_flags & NDR_SCALARS) {
711 int level = ndr_push_get_switch_value(ndr, r);
712 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
713 NDR_CHECK(ndr_push_union_align(ndr, 5));
714 switch (level) {
715 case 1: {
716 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
717 break; }
719 default:
720 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
723 if (ndr_flags & NDR_BUFFERS) {
724 int level = ndr_push_get_switch_value(ndr, r);
725 switch (level) {
726 case 1:
727 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
728 break;
730 default:
731 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
734 return NDR_ERR_SUCCESS;
737 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
739 int level;
740 int32_t _level;
741 level = ndr_pull_get_switch_value(ndr, r);
742 if (ndr_flags & NDR_SCALARS) {
743 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
744 if (_level != level) {
745 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
747 NDR_CHECK(ndr_pull_union_align(ndr, 5));
748 switch (level) {
749 case 1: {
750 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
751 break; }
753 default:
754 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
757 if (ndr_flags & NDR_BUFFERS) {
758 switch (level) {
759 case 1:
760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
761 break;
763 default:
764 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
767 return NDR_ERR_SUCCESS;
770 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r)
772 int level;
773 level = ndr_print_get_switch_value(ndr, r);
774 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
775 switch (level) {
776 case 1:
777 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
778 break;
780 default:
781 ndr_print_bad_level(ndr, name, level);
785 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r)
787 if (ndr_flags & NDR_SCALARS) {
788 NDR_CHECK(ndr_push_align(ndr, 8));
789 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
790 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn));
791 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
792 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
794 if (ndr_flags & NDR_BUFFERS) {
796 return NDR_ERR_SUCCESS;
799 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r)
801 if (ndr_flags & NDR_SCALARS) {
802 NDR_CHECK(ndr_pull_align(ndr, 8));
803 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
804 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn));
805 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
806 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
808 if (ndr_flags & NDR_BUFFERS) {
810 return NDR_ERR_SUCCESS;
813 _PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r)
815 ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark");
816 ndr->depth++;
817 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
818 ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn);
819 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
820 ndr->depth--;
823 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r)
825 if (ndr_flags & NDR_SCALARS) {
826 NDR_CHECK(ndr_push_align(ndr, 8));
827 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
828 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
829 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
831 if (ndr_flags & NDR_BUFFERS) {
833 return NDR_ERR_SUCCESS;
836 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r)
838 if (ndr_flags & NDR_SCALARS) {
839 NDR_CHECK(ndr_pull_align(ndr, 8));
840 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
841 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
842 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
844 if (ndr_flags & NDR_BUFFERS) {
846 return NDR_ERR_SUCCESS;
849 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r)
851 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor");
852 ndr->depth++;
853 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
854 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
855 ndr->depth--;
858 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r)
860 uint32_t cntr_cursors_0;
861 if (ndr_flags & NDR_SCALARS) {
862 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
863 NDR_CHECK(ndr_push_align(ndr, 8));
864 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
865 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
866 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
867 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
868 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
869 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
871 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
873 if (ndr_flags & NDR_BUFFERS) {
875 return NDR_ERR_SUCCESS;
878 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r)
880 uint32_t cntr_cursors_0;
881 TALLOC_CTX *_mem_save_cursors_0;
882 if (ndr_flags & NDR_SCALARS) {
883 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
884 NDR_CHECK(ndr_pull_align(ndr, 8));
885 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
886 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
887 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
888 if (r->count > 0x100000) {
889 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
891 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
892 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
893 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
894 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
895 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
896 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
899 if (r->cursors) {
900 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
902 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
904 if (ndr_flags & NDR_BUFFERS) {
906 return NDR_ERR_SUCCESS;
909 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r)
911 uint32_t cntr_cursors_0;
912 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx");
913 ndr->depth++;
914 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
915 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
916 ndr_print_uint32(ndr, "count", r->count);
917 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
918 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
919 ndr->depth++;
920 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
921 char *idx_0=NULL;
922 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
923 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
924 free(idx_0);
927 ndr->depth--;
928 ndr->depth--;
931 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
933 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
934 return NDR_ERR_SUCCESS;
937 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
939 uint32_t v;
940 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
941 *r = v;
942 return NDR_ERR_SUCCESS;
945 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourFlags(struct ndr_print *ndr, const char *name, uint32_t r)
947 ndr_print_uint32(ndr, name, r);
948 ndr->depth++;
949 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE", DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE, r);
950 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP", DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP, r);
951 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS", DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS, r);
952 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT", DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT, r);
953 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_ASYNC_REP", DRSUAPI_DS_REPLICA_NEIGHBOUR_ASYNC_REP, r);
954 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR", DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR, r);
955 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC, r);
956 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY", DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY, r);
957 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS", DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS, r);
958 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS, r);
959 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET, r);
960 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED", DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED, r);
961 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING", DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING, r);
962 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED", DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED, r);
963 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS, r);
964 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC, r);
965 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES", DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES, r);
966 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS, r);
967 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET, r);
968 ndr->depth--;
971 static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r)
974 uint32_t _flags_save_ENUM = ndr->flags;
975 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
976 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
977 ndr->flags = _flags_save_ENUM;
979 return NDR_ERR_SUCCESS;
982 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r)
984 uint32_t v;
986 uint32_t _flags_save_ENUM = ndr->flags;
987 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
988 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
989 *r = v;
990 ndr->flags = _flags_save_ENUM;
992 return NDR_ERR_SUCCESS;
995 _PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r)
997 const char *val = NULL;
1000 uint32_t _flags_save_ENUM = ndr->flags;
1001 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1002 switch (r) {
1003 case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break;
1004 case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
1005 case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
1006 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
1007 case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
1008 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
1009 case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break;
1010 case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break;
1012 ndr_print_enum(ndr, name, "ENUM", val, r);
1013 ndr->flags = _flags_save_ENUM;
1017 static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r)
1020 uint32_t _flags_save_ENUM = ndr->flags;
1021 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1022 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1023 ndr->flags = _flags_save_ENUM;
1025 return NDR_ERR_SUCCESS;
1028 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r)
1030 uint32_t v;
1032 uint32_t _flags_save_ENUM = ndr->flags;
1033 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1034 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1035 *r = v;
1036 ndr->flags = _flags_save_ENUM;
1038 return NDR_ERR_SUCCESS;
1041 _PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r)
1043 const char *val = NULL;
1046 uint32_t _flags_save_ENUM = ndr->flags;
1047 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1048 switch (r) {
1049 case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break;
1050 case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break;
1051 case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
1052 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
1053 case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
1054 case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
1055 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
1056 case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
1057 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
1058 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
1059 case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break;
1060 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
1061 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
1062 case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
1063 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
1064 case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
1065 case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
1067 ndr_print_enum(ndr, name, "ENUM", val, r);
1068 ndr->flags = _flags_save_ENUM;
1072 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r)
1074 if (ndr_flags & NDR_SCALARS) {
1075 NDR_CHECK(ndr_push_align(ndr, 8));
1076 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1077 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1078 if (r->naming_context == NULL) {
1079 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1081 NDR_CHECK(ndr_push_ref_ptr(ndr));
1082 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1083 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1084 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1087 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1088 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1089 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1091 if (ndr_flags & NDR_BUFFERS) {
1092 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1093 if (r->uptodateness_vector) {
1094 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1097 return NDR_ERR_SUCCESS;
1100 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r)
1102 uint32_t _ptr_naming_context;
1103 TALLOC_CTX *_mem_save_naming_context_0;
1104 uint32_t _ptr_uptodateness_vector;
1105 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1106 if (ndr_flags & NDR_SCALARS) {
1107 NDR_CHECK(ndr_pull_align(ndr, 8));
1108 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1109 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1110 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1111 if (_ptr_naming_context) {
1112 NDR_PULL_ALLOC(ndr, r->naming_context);
1113 } else {
1114 r->naming_context = NULL;
1116 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1117 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1118 if (_ptr_uptodateness_vector) {
1119 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1120 } else {
1121 r->uptodateness_vector = NULL;
1123 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1125 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1126 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1127 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1128 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1130 if (ndr_flags & NDR_BUFFERS) {
1131 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1132 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1133 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1134 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1135 if (r->uptodateness_vector) {
1136 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1137 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1138 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1142 return NDR_ERR_SUCCESS;
1145 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r)
1147 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5");
1148 ndr->depth++;
1149 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1150 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1151 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1152 ndr->depth++;
1153 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1154 ndr->depth--;
1155 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1156 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1157 ndr->depth++;
1158 if (r->uptodateness_vector) {
1159 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1161 ndr->depth--;
1162 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1163 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1164 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1165 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1166 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1167 ndr->depth--;
1170 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOID(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOID *r)
1172 if (ndr_flags & NDR_SCALARS) {
1173 NDR_CHECK(ndr_push_align(ndr, 5));
1174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1175 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary_oid));
1176 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1178 if (ndr_flags & NDR_BUFFERS) {
1179 if (r->binary_oid) {
1180 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
1181 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
1184 return NDR_ERR_SUCCESS;
1187 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOID *r)
1189 uint32_t _ptr_binary_oid;
1190 TALLOC_CTX *_mem_save_binary_oid_0;
1191 if (ndr_flags & NDR_SCALARS) {
1192 NDR_CHECK(ndr_pull_align(ndr, 5));
1193 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1194 if (r->length > 10000) {
1195 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1197 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_oid));
1198 if (_ptr_binary_oid) {
1199 NDR_PULL_ALLOC(ndr, r->binary_oid);
1200 } else {
1201 r->binary_oid = NULL;
1203 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1205 if (ndr_flags & NDR_BUFFERS) {
1206 if (r->binary_oid) {
1207 _mem_save_binary_oid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1208 NDR_PULL_SET_MEM_CTX(ndr, r->binary_oid, 0);
1209 NDR_CHECK(ndr_pull_array_size(ndr, &r->binary_oid));
1210 NDR_PULL_ALLOC_N(ndr, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid));
1211 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid)));
1212 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_oid_0, 0);
1214 if (r->binary_oid) {
1215 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->binary_oid, r->length));
1218 return NDR_ERR_SUCCESS;
1221 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
1223 if (ndr_flags & NDR_SCALARS) {
1224 NDR_CHECK(ndr_push_align(ndr, 5));
1225 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
1226 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1227 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1229 if (ndr_flags & NDR_BUFFERS) {
1230 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1232 return NDR_ERR_SUCCESS;
1235 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
1237 if (ndr_flags & NDR_SCALARS) {
1238 NDR_CHECK(ndr_pull_align(ndr, 5));
1239 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
1240 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1241 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1243 if (ndr_flags & NDR_BUFFERS) {
1244 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1246 return NDR_ERR_SUCCESS;
1249 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
1251 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
1252 ndr->depth++;
1253 ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1254 ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
1255 ndr->depth--;
1258 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1260 uint32_t cntr_mappings_1;
1261 if (ndr_flags & NDR_SCALARS) {
1262 NDR_CHECK(ndr_push_align(ndr, 5));
1263 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1264 NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
1265 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1267 if (ndr_flags & NDR_BUFFERS) {
1268 if (r->mappings) {
1269 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_mappings));
1270 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1271 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1273 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1274 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1278 return NDR_ERR_SUCCESS;
1281 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1283 uint32_t _ptr_mappings;
1284 uint32_t cntr_mappings_1;
1285 TALLOC_CTX *_mem_save_mappings_0;
1286 TALLOC_CTX *_mem_save_mappings_1;
1287 if (ndr_flags & NDR_SCALARS) {
1288 NDR_CHECK(ndr_pull_align(ndr, 5));
1289 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
1290 if (r->num_mappings > 0x100000) {
1291 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1293 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
1294 if (_ptr_mappings) {
1295 NDR_PULL_ALLOC(ndr, r->mappings);
1296 } else {
1297 r->mappings = NULL;
1299 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1301 if (ndr_flags & NDR_BUFFERS) {
1302 if (r->mappings) {
1303 _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1304 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1305 NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
1306 NDR_PULL_ALLOC_N(ndr, r->mappings, ndr_get_array_size(ndr, &r->mappings));
1307 _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1308 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1309 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1310 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1312 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1313 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
1316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
1318 if (r->mappings) {
1319 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
1322 return NDR_ERR_SUCCESS;
1325 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1327 uint32_t cntr_mappings_1;
1328 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
1329 ndr->depth++;
1330 ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1331 ndr_print_ptr(ndr, "mappings", r->mappings);
1332 ndr->depth++;
1333 if (r->mappings) {
1334 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1335 ndr->depth++;
1336 for (cntr_mappings_1=0;cntr_mappings_1<r->num_mappings;cntr_mappings_1++) {
1337 char *idx_1=NULL;
1338 if (asprintf(&idx_1, "[%d]", cntr_mappings_1) != -1) {
1339 ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
1340 free(idx_1);
1343 ndr->depth--;
1345 ndr->depth--;
1346 ndr->depth--;
1349 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
1352 uint32_t _flags_save_ENUM = ndr->flags;
1353 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1354 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1355 ndr->flags = _flags_save_ENUM;
1357 return NDR_ERR_SUCCESS;
1360 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
1362 uint32_t v;
1364 uint32_t _flags_save_ENUM = ndr->flags;
1365 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1366 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1367 *r = v;
1368 ndr->flags = _flags_save_ENUM;
1370 return NDR_ERR_SUCCESS;
1373 _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
1375 const char *val = NULL;
1378 uint32_t _flags_save_ENUM = ndr->flags;
1379 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1380 switch (r) {
1381 case DRSUAPI_ATTRIBUTE_objectClass: val = "DRSUAPI_ATTRIBUTE_objectClass"; break;
1382 case DRSUAPI_ATTRIBUTE_description: val = "DRSUAPI_ATTRIBUTE_description"; break;
1383 case DRSUAPI_ATTRIBUTE_member: val = "DRSUAPI_ATTRIBUTE_member"; break;
1384 case DRSUAPI_ATTRIBUTE_instanceType: val = "DRSUAPI_ATTRIBUTE_instanceType"; break;
1385 case DRSUAPI_ATTRIBUTE_whenCreated: val = "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1386 case DRSUAPI_ATTRIBUTE_possSuperiors: val = "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1387 case DRSUAPI_ATTRIBUTE_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1388 case DRSUAPI_ATTRIBUTE_subClassOf: val = "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1389 case DRSUAPI_ATTRIBUTE_governsID: val = "DRSUAPI_ATTRIBUTE_governsID"; break;
1390 case DRSUAPI_ATTRIBUTE_mustContain: val = "DRSUAPI_ATTRIBUTE_mustContain"; break;
1391 case DRSUAPI_ATTRIBUTE_mayContain: val = "DRSUAPI_ATTRIBUTE_mayContain"; break;
1392 case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1393 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1394 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1395 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1396 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1397 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1398 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1399 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1400 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1401 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1402 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1403 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1404 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1405 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1406 case DRSUAPI_ATTRIBUTE_auxiliaryClass: val = "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1407 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1408 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1409 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1410 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1411 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1412 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1413 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1414 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1415 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1416 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1417 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1418 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1419 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1420 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1421 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1422 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1423 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1424 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1425 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1426 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1427 case DRSUAPI_ATTRIBUTE_systemPossSuperiors: val = "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1428 case DRSUAPI_ATTRIBUTE_systemMayContain: val = "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1429 case DRSUAPI_ATTRIBUTE_systemMustContain: val = "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1430 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1431 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1432 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1433 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1434 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1435 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1436 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1437 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1438 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1439 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1440 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1441 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1442 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1443 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1444 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1445 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1446 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1447 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1448 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1449 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1451 ndr_print_enum(ndr, name, "ENUM", val, r);
1452 ndr->flags = _flags_save_ENUM;
1456 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1458 uint32_t cntr_attids_0;
1459 if (ndr_flags & NDR_SCALARS) {
1460 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
1461 NDR_CHECK(ndr_push_align(ndr, 4));
1462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1463 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1464 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1465 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1466 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1468 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1470 if (ndr_flags & NDR_BUFFERS) {
1472 return NDR_ERR_SUCCESS;
1475 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1477 uint32_t cntr_attids_0;
1478 TALLOC_CTX *_mem_save_attids_0;
1479 if (ndr_flags & NDR_SCALARS) {
1480 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1481 NDR_CHECK(ndr_pull_align(ndr, 4));
1482 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1483 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1484 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1485 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1486 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1488 NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids));
1489 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1490 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1491 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1492 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1494 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1495 if (r->attids) {
1496 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1498 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1500 if (ndr_flags & NDR_BUFFERS) {
1502 return NDR_ERR_SUCCESS;
1505 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1507 uint32_t cntr_attids_0;
1508 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1509 ndr->depth++;
1510 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1511 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1512 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1513 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1514 ndr->depth++;
1515 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1516 char *idx_0=NULL;
1517 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1518 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1519 free(idx_0);
1522 ndr->depth--;
1523 ndr->depth--;
1526 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1528 if (ndr_flags & NDR_SCALARS) {
1529 NDR_CHECK(ndr_push_align(ndr, 8));
1530 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1531 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1532 if (r->naming_context == NULL) {
1533 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1535 NDR_CHECK(ndr_push_ref_ptr(ndr));
1536 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1537 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1538 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1539 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1540 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1541 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1542 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1543 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1544 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1545 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1546 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1548 if (ndr_flags & NDR_BUFFERS) {
1549 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1550 if (r->uptodateness_vector) {
1551 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1553 if (r->partial_attribute_set) {
1554 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1556 if (r->partial_attribute_set_ex) {
1557 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1559 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1561 return NDR_ERR_SUCCESS;
1564 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1566 uint32_t _ptr_naming_context;
1567 TALLOC_CTX *_mem_save_naming_context_0;
1568 uint32_t _ptr_uptodateness_vector;
1569 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1570 uint32_t _ptr_partial_attribute_set;
1571 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1572 uint32_t _ptr_partial_attribute_set_ex;
1573 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1574 if (ndr_flags & NDR_SCALARS) {
1575 NDR_CHECK(ndr_pull_align(ndr, 8));
1576 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1577 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1578 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1579 if (_ptr_naming_context) {
1580 NDR_PULL_ALLOC(ndr, r->naming_context);
1581 } else {
1582 r->naming_context = NULL;
1584 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1585 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1586 if (_ptr_uptodateness_vector) {
1587 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1588 } else {
1589 r->uptodateness_vector = NULL;
1591 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1593 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1594 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1595 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1596 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1597 if (_ptr_partial_attribute_set) {
1598 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1599 } else {
1600 r->partial_attribute_set = NULL;
1602 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1603 if (_ptr_partial_attribute_set_ex) {
1604 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1605 } else {
1606 r->partial_attribute_set_ex = NULL;
1608 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1609 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1611 if (ndr_flags & NDR_BUFFERS) {
1612 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1613 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1614 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1615 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1616 if (r->uptodateness_vector) {
1617 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1618 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1619 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1622 if (r->partial_attribute_set) {
1623 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1624 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1625 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1628 if (r->partial_attribute_set_ex) {
1629 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1630 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1631 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1632 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1634 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1636 return NDR_ERR_SUCCESS;
1639 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1641 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1642 ndr->depth++;
1643 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1644 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1645 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1646 ndr->depth++;
1647 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1648 ndr->depth--;
1649 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1650 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1651 ndr->depth++;
1652 if (r->uptodateness_vector) {
1653 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1655 ndr->depth--;
1656 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1657 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1658 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1659 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1660 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1661 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1662 ndr->depth++;
1663 if (r->partial_attribute_set) {
1664 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1666 ndr->depth--;
1667 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1668 ndr->depth++;
1669 if (r->partial_attribute_set_ex) {
1670 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1672 ndr->depth--;
1673 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1674 ndr->depth--;
1677 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
1679 if (ndr_flags & NDR_SCALARS) {
1680 NDR_CHECK(ndr_push_align(ndr, 8));
1681 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1682 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1683 if (r->naming_context == NULL) {
1684 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1686 NDR_CHECK(ndr_push_ref_ptr(ndr));
1687 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1688 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1689 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1690 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1692 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1693 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1694 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1695 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1696 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1697 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_flags));
1698 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1700 if (ndr_flags & NDR_BUFFERS) {
1701 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1702 if (r->uptodateness_vector) {
1703 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1705 if (r->partial_attribute_set) {
1706 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1708 if (r->partial_attribute_set_ex) {
1709 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1711 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1713 return NDR_ERR_SUCCESS;
1716 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
1718 uint32_t _ptr_naming_context;
1719 TALLOC_CTX *_mem_save_naming_context_0;
1720 uint32_t _ptr_uptodateness_vector;
1721 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1722 uint32_t _ptr_partial_attribute_set;
1723 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1724 uint32_t _ptr_partial_attribute_set_ex;
1725 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1726 if (ndr_flags & NDR_SCALARS) {
1727 NDR_CHECK(ndr_pull_align(ndr, 8));
1728 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1729 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1730 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1731 if (_ptr_naming_context) {
1732 NDR_PULL_ALLOC(ndr, r->naming_context);
1733 } else {
1734 r->naming_context = NULL;
1736 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1737 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1738 if (_ptr_uptodateness_vector) {
1739 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1740 } else {
1741 r->uptodateness_vector = NULL;
1743 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1744 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1745 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1746 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1747 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1748 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1749 if (_ptr_partial_attribute_set) {
1750 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1751 } else {
1752 r->partial_attribute_set = NULL;
1754 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1755 if (_ptr_partial_attribute_set_ex) {
1756 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1757 } else {
1758 r->partial_attribute_set_ex = NULL;
1760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1761 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_flags));
1762 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1764 if (ndr_flags & NDR_BUFFERS) {
1765 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1766 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1767 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1768 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1769 if (r->uptodateness_vector) {
1770 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1771 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1772 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1773 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1775 if (r->partial_attribute_set) {
1776 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1777 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1778 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1781 if (r->partial_attribute_set_ex) {
1782 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1783 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1784 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1785 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1787 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1789 return NDR_ERR_SUCCESS;
1792 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
1794 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
1795 ndr->depth++;
1796 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1797 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1798 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1799 ndr->depth++;
1800 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1801 ndr->depth--;
1802 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1803 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1804 ndr->depth++;
1805 if (r->uptodateness_vector) {
1806 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1808 ndr->depth--;
1809 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1810 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1811 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1812 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1813 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1814 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1815 ndr->depth++;
1816 if (r->partial_attribute_set) {
1817 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1819 ndr->depth--;
1820 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1821 ndr->depth++;
1822 if (r->partial_attribute_set_ex) {
1823 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1825 ndr->depth--;
1826 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1827 ndr_print_uint32(ndr, "more_flags", r->more_flags);
1828 ndr->depth--;
1831 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1833 if (ndr_flags & NDR_SCALARS) {
1834 int level = ndr_push_get_switch_value(ndr, r);
1835 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
1836 NDR_CHECK(ndr_push_union_align(ndr, 8));
1837 switch (level) {
1838 case 5: {
1839 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1840 break; }
1842 case 8: {
1843 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1844 break; }
1846 case 10: {
1847 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1848 break; }
1850 default:
1851 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1854 if (ndr_flags & NDR_BUFFERS) {
1855 int level = ndr_push_get_switch_value(ndr, r);
1856 switch (level) {
1857 case 5:
1858 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1859 break;
1861 case 8:
1862 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1863 break;
1865 case 10:
1866 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1867 break;
1869 default:
1870 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1873 return NDR_ERR_SUCCESS;
1876 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1878 int level;
1879 int32_t _level;
1880 level = ndr_pull_get_switch_value(ndr, r);
1881 if (ndr_flags & NDR_SCALARS) {
1882 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
1883 if (_level != level) {
1884 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1886 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1887 switch (level) {
1888 case 5: {
1889 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1890 break; }
1892 case 8: {
1893 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1894 break; }
1896 case 10: {
1897 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1898 break; }
1900 default:
1901 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1904 if (ndr_flags & NDR_BUFFERS) {
1905 switch (level) {
1906 case 5:
1907 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1908 break;
1910 case 8:
1911 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1912 break;
1914 case 10:
1915 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1916 break;
1918 default:
1919 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1922 return NDR_ERR_SUCCESS;
1925 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1927 int level;
1928 level = ndr_print_get_switch_value(ndr, r);
1929 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1930 switch (level) {
1931 case 5:
1932 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1933 break;
1935 case 8:
1936 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1937 break;
1939 case 10:
1940 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
1941 break;
1943 default:
1944 ndr_print_bad_level(ndr, name, level);
1948 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1950 if (ndr_flags & NDR_SCALARS) {
1951 NDR_CHECK(ndr_push_align(ndr, 8));
1952 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1953 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1954 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1955 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1957 if (ndr_flags & NDR_BUFFERS) {
1959 return NDR_ERR_SUCCESS;
1962 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1964 if (ndr_flags & NDR_SCALARS) {
1965 NDR_CHECK(ndr_pull_align(ndr, 8));
1966 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1967 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1968 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1969 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1971 if (ndr_flags & NDR_BUFFERS) {
1973 return NDR_ERR_SUCCESS;
1976 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
1978 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
1979 ndr->depth++;
1980 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1981 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
1982 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
1983 ndr->depth--;
1986 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1988 uint32_t cntr_cursors_0;
1989 if (ndr_flags & NDR_SCALARS) {
1990 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1991 NDR_CHECK(ndr_push_align(ndr, 8));
1992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
1993 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1996 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1997 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1999 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2001 if (ndr_flags & NDR_BUFFERS) {
2003 return NDR_ERR_SUCCESS;
2006 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
2008 uint32_t cntr_cursors_0;
2009 TALLOC_CTX *_mem_save_cursors_0;
2010 if (ndr_flags & NDR_SCALARS) {
2011 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
2012 NDR_CHECK(ndr_pull_align(ndr, 8));
2013 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2014 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
2015 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2016 if (r->count > 0x100000) {
2017 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2019 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
2020 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
2021 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
2022 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
2023 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
2024 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
2026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
2027 if (r->cursors) {
2028 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
2030 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2032 if (ndr_flags & NDR_BUFFERS) {
2034 return NDR_ERR_SUCCESS;
2037 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
2039 uint32_t cntr_cursors_0;
2040 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
2041 ndr->depth++;
2042 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
2043 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2044 ndr_print_uint32(ndr, "count", r->count);
2045 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2046 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
2047 ndr->depth++;
2048 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
2049 char *idx_0=NULL;
2050 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
2051 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
2052 free(idx_0);
2055 ndr->depth--;
2056 ndr->depth--;
2059 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
2061 if (ndr_flags & NDR_SCALARS) {
2062 NDR_CHECK(ndr_push_align(ndr, 5));
2063 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
2064 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
2065 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2067 if (ndr_flags & NDR_BUFFERS) {
2068 if (r->blob) {
2069 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
2072 return NDR_ERR_SUCCESS;
2075 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
2077 uint32_t _ptr_blob;
2078 TALLOC_CTX *_mem_save_blob_0;
2079 if (ndr_flags & NDR_SCALARS) {
2080 NDR_CHECK(ndr_pull_align(ndr, 5));
2081 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2082 if (r->__ndr_size > 10485760) {
2083 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2085 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
2086 if (_ptr_blob) {
2087 NDR_PULL_ALLOC(ndr, r->blob);
2088 } else {
2089 r->blob = NULL;
2091 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2093 if (ndr_flags & NDR_BUFFERS) {
2094 if (r->blob) {
2095 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
2096 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
2097 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
2098 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
2101 return NDR_ERR_SUCCESS;
2104 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
2106 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
2107 ndr->depth++;
2108 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
2109 ndr_print_ptr(ndr, "blob", r->blob);
2110 ndr->depth++;
2111 if (r->blob) {
2112 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
2114 ndr->depth--;
2115 ndr->depth--;
2118 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
2120 uint32_t cntr_values_1;
2121 if (ndr_flags & NDR_SCALARS) {
2122 NDR_CHECK(ndr_push_align(ndr, 5));
2123 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
2124 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
2125 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2127 if (ndr_flags & NDR_BUFFERS) {
2128 if (r->values) {
2129 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
2130 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2131 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2133 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2134 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2138 return NDR_ERR_SUCCESS;
2141 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
2143 uint32_t _ptr_values;
2144 uint32_t cntr_values_1;
2145 TALLOC_CTX *_mem_save_values_0;
2146 TALLOC_CTX *_mem_save_values_1;
2147 if (ndr_flags & NDR_SCALARS) {
2148 NDR_CHECK(ndr_pull_align(ndr, 5));
2149 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
2150 if (r->num_values > 10485760) {
2151 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2153 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
2154 if (_ptr_values) {
2155 NDR_PULL_ALLOC(ndr, r->values);
2156 } else {
2157 r->values = NULL;
2159 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2161 if (ndr_flags & NDR_BUFFERS) {
2162 if (r->values) {
2163 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2164 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2165 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
2166 NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values));
2167 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
2168 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2169 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2170 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2172 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2173 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2175 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
2176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
2178 if (r->values) {
2179 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
2182 return NDR_ERR_SUCCESS;
2185 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
2187 uint32_t cntr_values_1;
2188 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
2189 ndr->depth++;
2190 ndr_print_uint32(ndr, "num_values", r->num_values);
2191 ndr_print_ptr(ndr, "values", r->values);
2192 ndr->depth++;
2193 if (r->values) {
2194 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
2195 ndr->depth++;
2196 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
2197 char *idx_1=NULL;
2198 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
2199 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
2200 free(idx_1);
2203 ndr->depth--;
2205 ndr->depth--;
2206 ndr->depth--;
2209 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2211 if (ndr_flags & NDR_SCALARS) {
2212 NDR_CHECK(ndr_push_align(ndr, 4));
2213 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2215 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2216 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2218 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2219 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2221 if (ndr_flags & NDR_BUFFERS) {
2222 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2224 return NDR_ERR_SUCCESS;
2227 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
2229 if (ndr_flags & NDR_SCALARS) {
2230 NDR_CHECK(ndr_pull_align(ndr, 4));
2231 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2232 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2233 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2234 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2235 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2236 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2237 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2239 if (ndr_flags & NDR_BUFFERS) {
2240 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2242 return NDR_ERR_SUCCESS;
2245 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2247 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
2248 ndr->depth++;
2249 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
2250 ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid);
2251 ndr_print_GUID(ndr, "guid", &r->guid);
2252 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2253 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2254 ndr_print_string(ndr, "dn", r->dn);
2255 ndr->depth--;
2258 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags)
2260 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic);
2263 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2265 if (ndr_flags & NDR_SCALARS) {
2266 NDR_CHECK(ndr_push_align(ndr, 4));
2267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2268 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2269 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2270 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2271 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2272 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2273 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
2275 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2276 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2277 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
2278 ndr->flags = _flags_save_DATA_BLOB;
2280 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2282 if (ndr_flags & NDR_BUFFERS) {
2283 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2285 return NDR_ERR_SUCCESS;
2288 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2290 if (ndr_flags & NDR_SCALARS) {
2291 NDR_CHECK(ndr_pull_align(ndr, 4));
2292 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2293 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2294 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2295 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2296 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2297 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2298 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
2300 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2301 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2302 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
2303 ndr->flags = _flags_save_DATA_BLOB;
2305 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2307 if (ndr_flags & NDR_BUFFERS) {
2308 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2310 return NDR_ERR_SUCCESS;
2313 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2315 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2316 ndr->depth++;
2317 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
2318 ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid);
2319 ndr_print_GUID(ndr, "guid", &r->guid);
2320 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2321 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2322 ndr_print_string(ndr, "dn", r->dn);
2323 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2324 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2325 ndr->depth--;
2328 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(const struct drsuapi_DsReplicaObjectIdentifier3Binary *r, struct smb_iconv_convenience *ic, int flags)
2330 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary, ic);
2333 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2335 if (ndr_flags & NDR_SCALARS) {
2336 NDR_CHECK(ndr_push_align(ndr, 5));
2337 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2338 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2339 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2341 if (ndr_flags & NDR_BUFFERS) {
2342 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2344 return NDR_ERR_SUCCESS;
2347 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2349 if (ndr_flags & NDR_SCALARS) {
2350 NDR_CHECK(ndr_pull_align(ndr, 5));
2351 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2352 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2353 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2355 if (ndr_flags & NDR_BUFFERS) {
2356 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2358 return NDR_ERR_SUCCESS;
2361 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2363 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2364 ndr->depth++;
2365 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2366 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2367 ndr->depth--;
2370 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2372 uint32_t cntr_attributes_1;
2373 if (ndr_flags & NDR_SCALARS) {
2374 NDR_CHECK(ndr_push_align(ndr, 5));
2375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2376 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2377 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2379 if (ndr_flags & NDR_BUFFERS) {
2380 if (r->attributes) {
2381 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
2382 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2383 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2385 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2386 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2390 return NDR_ERR_SUCCESS;
2393 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2395 uint32_t _ptr_attributes;
2396 uint32_t cntr_attributes_1;
2397 TALLOC_CTX *_mem_save_attributes_0;
2398 TALLOC_CTX *_mem_save_attributes_1;
2399 if (ndr_flags & NDR_SCALARS) {
2400 NDR_CHECK(ndr_pull_align(ndr, 5));
2401 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2402 if (r->num_attributes > 1048576) {
2403 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2405 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2406 if (_ptr_attributes) {
2407 NDR_PULL_ALLOC(ndr, r->attributes);
2408 } else {
2409 r->attributes = NULL;
2411 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2413 if (ndr_flags & NDR_BUFFERS) {
2414 if (r->attributes) {
2415 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2416 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2417 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2418 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes));
2419 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2420 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2421 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2422 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2424 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2425 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2427 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2428 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2430 if (r->attributes) {
2431 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2434 return NDR_ERR_SUCCESS;
2437 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2439 uint32_t cntr_attributes_1;
2440 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2441 ndr->depth++;
2442 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2443 ndr_print_ptr(ndr, "attributes", r->attributes);
2444 ndr->depth++;
2445 if (r->attributes) {
2446 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2447 ndr->depth++;
2448 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2449 char *idx_1=NULL;
2450 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2451 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2452 free(idx_1);
2455 ndr->depth--;
2457 ndr->depth--;
2458 ndr->depth--;
2461 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2463 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2464 return NDR_ERR_SUCCESS;
2467 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2469 uint32_t v;
2470 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2471 *r = v;
2472 return NDR_ERR_SUCCESS;
2475 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2477 ndr_print_uint32(ndr, name, r);
2478 ndr->depth++;
2479 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2480 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2481 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2482 ndr->depth--;
2485 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2487 if (ndr_flags & NDR_SCALARS) {
2488 NDR_CHECK(ndr_push_align(ndr, 5));
2489 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2490 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2491 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2492 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2494 if (ndr_flags & NDR_BUFFERS) {
2495 if (r->identifier) {
2496 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2498 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2500 return NDR_ERR_SUCCESS;
2503 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2505 uint32_t _ptr_identifier;
2506 TALLOC_CTX *_mem_save_identifier_0;
2507 if (ndr_flags & NDR_SCALARS) {
2508 NDR_CHECK(ndr_pull_align(ndr, 5));
2509 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2510 if (_ptr_identifier) {
2511 NDR_PULL_ALLOC(ndr, r->identifier);
2512 } else {
2513 r->identifier = NULL;
2515 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2516 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2517 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2519 if (ndr_flags & NDR_BUFFERS) {
2520 if (r->identifier) {
2521 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2522 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2523 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2524 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2526 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2528 return NDR_ERR_SUCCESS;
2531 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2533 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2534 ndr->depth++;
2535 ndr_print_ptr(ndr, "identifier", r->identifier);
2536 ndr->depth++;
2537 if (r->identifier) {
2538 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2540 ndr->depth--;
2541 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2542 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2543 ndr->depth--;
2546 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2548 if (ndr_flags & NDR_SCALARS) {
2549 NDR_CHECK(ndr_push_align(ndr, 8));
2550 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2551 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2552 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2553 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2554 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2556 if (ndr_flags & NDR_BUFFERS) {
2558 return NDR_ERR_SUCCESS;
2561 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2563 if (ndr_flags & NDR_SCALARS) {
2564 NDR_CHECK(ndr_pull_align(ndr, 8));
2565 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2566 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2567 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2568 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2569 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2571 if (ndr_flags & NDR_BUFFERS) {
2573 return NDR_ERR_SUCCESS;
2576 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2578 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2579 ndr->depth++;
2580 ndr_print_uint32(ndr, "version", r->version);
2581 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2582 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2583 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2584 ndr->depth--;
2587 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2589 uint32_t cntr_meta_data_0;
2590 if (ndr_flags & NDR_SCALARS) {
2591 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2592 NDR_CHECK(ndr_push_align(ndr, 8));
2593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2594 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2595 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2597 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2599 if (ndr_flags & NDR_BUFFERS) {
2601 return NDR_ERR_SUCCESS;
2604 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2606 uint32_t cntr_meta_data_0;
2607 TALLOC_CTX *_mem_save_meta_data_0;
2608 if (ndr_flags & NDR_SCALARS) {
2609 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2610 NDR_CHECK(ndr_pull_align(ndr, 8));
2611 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2612 if (r->count > 1048576) {
2613 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2615 NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data));
2616 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2617 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2618 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2619 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2621 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2622 if (r->meta_data) {
2623 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2625 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2627 if (ndr_flags & NDR_BUFFERS) {
2629 return NDR_ERR_SUCCESS;
2632 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2634 uint32_t cntr_meta_data_0;
2635 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2636 ndr->depth++;
2637 ndr_print_uint32(ndr, "count", r->count);
2638 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2639 ndr->depth++;
2640 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2641 char *idx_0=NULL;
2642 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2643 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2644 free(idx_0);
2647 ndr->depth--;
2648 ndr->depth--;
2651 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2653 if (ndr_flags & NDR_SCALARS) {
2654 NDR_CHECK(ndr_push_align(ndr, 5));
2655 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2656 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2657 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2658 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2659 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2660 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2662 if (ndr_flags & NDR_BUFFERS) {
2663 if (r->next_object) {
2664 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2666 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2667 if (r->parent_object_guid) {
2668 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2670 if (r->meta_data_ctr) {
2671 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2674 return NDR_ERR_SUCCESS;
2677 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2679 uint32_t _ptr_next_object;
2680 TALLOC_CTX *_mem_save_next_object_0;
2681 uint32_t _ptr_parent_object_guid;
2682 TALLOC_CTX *_mem_save_parent_object_guid_0;
2683 uint32_t _ptr_meta_data_ctr;
2684 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2685 if (ndr_flags & NDR_SCALARS) {
2686 NDR_CHECK(ndr_pull_align(ndr, 5));
2687 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2688 if (_ptr_next_object) {
2689 NDR_PULL_ALLOC(ndr, r->next_object);
2690 } else {
2691 r->next_object = NULL;
2693 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2694 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2695 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2696 if (_ptr_parent_object_guid) {
2697 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2698 } else {
2699 r->parent_object_guid = NULL;
2701 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2702 if (_ptr_meta_data_ctr) {
2703 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2704 } else {
2705 r->meta_data_ctr = NULL;
2707 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2709 if (ndr_flags & NDR_BUFFERS) {
2710 if (r->next_object) {
2711 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2712 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2713 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2714 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2716 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2717 if (r->parent_object_guid) {
2718 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2719 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2720 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2721 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2723 if (r->meta_data_ctr) {
2724 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2725 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2726 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2727 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2730 return NDR_ERR_SUCCESS;
2733 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2735 if (ndr_flags & NDR_SCALARS) {
2736 NDR_CHECK(ndr_push_align(ndr, 8));
2737 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2738 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2739 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2740 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2741 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2742 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2743 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2744 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55));
2747 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2749 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2751 if (ndr_flags & NDR_BUFFERS) {
2752 if (r->naming_context) {
2753 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2755 if (r->uptodateness_vector) {
2756 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2758 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2759 if (r->first_object) {
2760 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2763 return NDR_ERR_SUCCESS;
2766 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2768 uint32_t _ptr_naming_context;
2769 TALLOC_CTX *_mem_save_naming_context_0;
2770 uint32_t _ptr_uptodateness_vector;
2771 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2772 uint32_t _ptr_first_object;
2773 TALLOC_CTX *_mem_save_first_object_0;
2774 if (ndr_flags & NDR_SCALARS) {
2775 NDR_CHECK(ndr_pull_align(ndr, 8));
2776 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2777 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2778 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2779 if (_ptr_naming_context) {
2780 NDR_PULL_ALLOC(ndr, r->naming_context);
2781 } else {
2782 r->naming_context = NULL;
2784 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2785 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2786 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2787 if (_ptr_uptodateness_vector) {
2788 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2789 } else {
2790 r->uptodateness_vector = NULL;
2792 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2793 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2794 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2795 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2796 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2797 if (_ptr_first_object) {
2798 NDR_PULL_ALLOC(ndr, r->first_object);
2799 } else {
2800 r->first_object = NULL;
2802 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2803 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2805 if (ndr_flags & NDR_BUFFERS) {
2806 if (r->naming_context) {
2807 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2808 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2809 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2810 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2812 if (r->uptodateness_vector) {
2813 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2814 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2815 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2816 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2818 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2819 if (r->first_object) {
2820 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2821 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2822 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2823 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2826 return NDR_ERR_SUCCESS;
2829 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2831 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2832 ndr->depth++;
2833 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2834 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2835 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2836 ndr->depth++;
2837 if (r->naming_context) {
2838 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2840 ndr->depth--;
2841 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2842 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2843 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2844 ndr->depth++;
2845 if (r->uptodateness_vector) {
2846 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2848 ndr->depth--;
2849 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2850 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2851 ndr_print_uint32(ndr, "object_count", r->object_count);
2852 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55:r->__ndr_size);
2853 ndr_print_ptr(ndr, "first_object", r->first_object);
2854 ndr->depth++;
2855 if (r->first_object) {
2856 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2858 ndr->depth--;
2859 ndr_print_uint32(ndr, "more_data", r->more_data);
2860 ndr->depth--;
2863 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags)
2865 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic);
2868 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2870 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2871 return NDR_ERR_SUCCESS;
2874 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2876 uint32_t v;
2877 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2878 *r = v;
2879 return NDR_ERR_SUCCESS;
2882 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2884 ndr_print_uint32(ndr, name, r);
2885 ndr->depth++;
2886 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2887 ndr->depth--;
2890 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2892 if (ndr_flags & NDR_SCALARS) {
2893 NDR_CHECK(ndr_push_align(ndr, 8));
2894 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2895 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2896 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2897 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2898 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2899 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2900 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2902 if (ndr_flags & NDR_BUFFERS) {
2903 if (r->identifier) {
2904 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2906 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2908 return NDR_ERR_SUCCESS;
2911 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2913 uint32_t _ptr_identifier;
2914 TALLOC_CTX *_mem_save_identifier_0;
2915 if (ndr_flags & NDR_SCALARS) {
2916 NDR_CHECK(ndr_pull_align(ndr, 8));
2917 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2918 if (_ptr_identifier) {
2919 NDR_PULL_ALLOC(ndr, r->identifier);
2920 } else {
2921 r->identifier = NULL;
2923 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2924 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2925 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2926 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2927 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2928 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2930 if (ndr_flags & NDR_BUFFERS) {
2931 if (r->identifier) {
2932 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2933 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2934 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2935 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2937 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2939 return NDR_ERR_SUCCESS;
2942 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2944 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2945 ndr->depth++;
2946 ndr_print_ptr(ndr, "identifier", r->identifier);
2947 ndr->depth++;
2948 if (r->identifier) {
2949 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2951 ndr->depth--;
2952 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2953 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2954 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2955 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2956 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2957 ndr->depth--;
2960 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2962 uint32_t cntr_linked_attributes_1;
2963 if (ndr_flags & NDR_SCALARS) {
2964 NDR_CHECK(ndr_push_align(ndr, 8));
2965 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2966 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2967 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2968 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2969 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2970 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2971 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2972 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2973 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2974 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55));
2975 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2977 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2980 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2981 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2982 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2984 if (ndr_flags & NDR_BUFFERS) {
2985 if (r->naming_context) {
2986 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2988 if (r->uptodateness_vector) {
2989 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2991 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2992 if (r->first_object) {
2993 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2995 if (r->linked_attributes) {
2996 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
2997 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2998 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3000 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3001 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3005 return NDR_ERR_SUCCESS;
3008 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
3010 uint32_t _ptr_naming_context;
3011 TALLOC_CTX *_mem_save_naming_context_0;
3012 uint32_t _ptr_uptodateness_vector;
3013 TALLOC_CTX *_mem_save_uptodateness_vector_0;
3014 uint32_t _ptr_first_object;
3015 TALLOC_CTX *_mem_save_first_object_0;
3016 uint32_t _ptr_linked_attributes;
3017 uint32_t cntr_linked_attributes_1;
3018 TALLOC_CTX *_mem_save_linked_attributes_0;
3019 TALLOC_CTX *_mem_save_linked_attributes_1;
3020 if (ndr_flags & NDR_SCALARS) {
3021 NDR_CHECK(ndr_pull_align(ndr, 8));
3022 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
3023 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
3024 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
3025 if (_ptr_naming_context) {
3026 NDR_PULL_ALLOC(ndr, r->naming_context);
3027 } else {
3028 r->naming_context = NULL;
3030 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
3031 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
3032 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
3033 if (_ptr_uptodateness_vector) {
3034 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
3035 } else {
3036 r->uptodateness_vector = NULL;
3038 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
3039 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
3040 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
3041 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
3042 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
3043 if (_ptr_first_object) {
3044 NDR_PULL_ALLOC(ndr, r->first_object);
3045 } else {
3046 r->first_object = NULL;
3048 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
3049 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
3050 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
3051 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
3052 if (r->linked_attributes_count > 1048576) {
3053 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3055 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
3056 if (_ptr_linked_attributes) {
3057 NDR_PULL_ALLOC(ndr, r->linked_attributes);
3058 } else {
3059 r->linked_attributes = NULL;
3061 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
3062 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3064 if (ndr_flags & NDR_BUFFERS) {
3065 if (r->naming_context) {
3066 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3067 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3068 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3069 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3071 if (r->uptodateness_vector) {
3072 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
3073 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
3074 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
3075 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
3077 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3078 if (r->first_object) {
3079 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
3080 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
3081 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3082 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
3084 if (r->linked_attributes) {
3085 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
3086 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3087 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
3088 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes));
3089 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
3090 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3091 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3092 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3094 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3095 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
3098 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
3100 if (r->linked_attributes) {
3101 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
3104 return NDR_ERR_SUCCESS;
3107 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
3109 uint32_t cntr_linked_attributes_1;
3110 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
3111 ndr->depth++;
3112 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3113 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3114 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3115 ndr->depth++;
3116 if (r->naming_context) {
3117 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3119 ndr->depth--;
3120 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3121 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3122 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3123 ndr->depth++;
3124 if (r->uptodateness_vector) {
3125 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3127 ndr->depth--;
3128 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3129 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3130 ndr_print_uint32(ndr, "object_count", r->object_count);
3131 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55:r->__ndr_size);
3132 ndr_print_ptr(ndr, "first_object", r->first_object);
3133 ndr->depth++;
3134 if (r->first_object) {
3135 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3137 ndr->depth--;
3138 ndr_print_uint32(ndr, "more_data", r->more_data);
3139 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
3140 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
3141 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
3142 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
3143 ndr->depth++;
3144 if (r->linked_attributes) {
3145 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
3146 ndr->depth++;
3147 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
3148 char *idx_1=NULL;
3149 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
3150 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
3151 free(idx_1);
3154 ndr->depth--;
3156 ndr->depth--;
3157 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
3158 ndr->depth--;
3161 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags)
3163 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic);
3166 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3168 if (ndr_flags & NDR_SCALARS) {
3169 NDR_CHECK(ndr_push_align(ndr, 1));
3171 struct ndr_push *_ndr_ctr1;
3172 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3173 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3174 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3176 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3178 if (ndr_flags & NDR_BUFFERS) {
3180 return NDR_ERR_SUCCESS;
3183 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
3185 if (ndr_flags & NDR_SCALARS) {
3186 NDR_CHECK(ndr_pull_align(ndr, 1));
3188 struct ndr_pull *_ndr_ctr1;
3189 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3190 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3191 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3193 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3195 if (ndr_flags & NDR_BUFFERS) {
3197 return NDR_ERR_SUCCESS;
3200 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3202 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
3203 ndr->depth++;
3204 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3205 ndr->depth--;
3208 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3210 if (ndr_flags & NDR_SCALARS) {
3211 NDR_CHECK(ndr_push_align(ndr, 1));
3213 struct ndr_push *_ndr_ctr6;
3214 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3215 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3216 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3218 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3220 if (ndr_flags & NDR_BUFFERS) {
3222 return NDR_ERR_SUCCESS;
3225 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
3227 if (ndr_flags & NDR_SCALARS) {
3228 NDR_CHECK(ndr_pull_align(ndr, 1));
3230 struct ndr_pull *_ndr_ctr6;
3231 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3232 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3233 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3235 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3237 if (ndr_flags & NDR_BUFFERS) {
3239 return NDR_ERR_SUCCESS;
3242 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3244 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
3245 ndr->depth++;
3246 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3247 ndr->depth--;
3250 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3252 uint32_t _ptr_ts;
3253 TALLOC_CTX *_mem_save_ts_0;
3254 if (ndr_flags & NDR_SCALARS) {
3255 NDR_CHECK(ndr_pull_align(ndr, 5));
3256 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3257 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3258 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3259 if (_ptr_ts) {
3260 NDR_PULL_ALLOC(ndr, r->ts);
3261 } else {
3262 r->ts = NULL;
3264 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3266 if (ndr_flags & NDR_BUFFERS) {
3267 if (r->ts) {
3268 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3269 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3271 struct ndr_pull *_ndr_ts;
3272 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3274 struct ndr_pull *_ndr_ts_compressed;
3275 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3276 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3277 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3279 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3284 return NDR_ERR_SUCCESS;
3287 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3289 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
3290 ndr->depth++;
3291 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3292 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3293 ndr_print_ptr(ndr, "ts", r->ts);
3294 ndr->depth++;
3295 if (r->ts) {
3296 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3298 ndr->depth--;
3299 ndr->depth--;
3302 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3304 uint32_t _ptr_ts;
3305 TALLOC_CTX *_mem_save_ts_0;
3306 if (ndr_flags & NDR_SCALARS) {
3307 NDR_CHECK(ndr_pull_align(ndr, 5));
3308 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3309 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3310 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3311 if (_ptr_ts) {
3312 NDR_PULL_ALLOC(ndr, r->ts);
3313 } else {
3314 r->ts = NULL;
3316 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3318 if (ndr_flags & NDR_BUFFERS) {
3319 if (r->ts) {
3320 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3321 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3323 struct ndr_pull *_ndr_ts;
3324 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3326 struct ndr_pull *_ndr_ts_compressed;
3327 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3328 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3329 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3331 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3333 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3336 return NDR_ERR_SUCCESS;
3339 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3341 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3342 ndr->depth++;
3343 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3344 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3345 ndr_print_ptr(ndr, "ts", r->ts);
3346 ndr->depth++;
3347 if (r->ts) {
3348 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3350 ndr->depth--;
3351 ndr->depth--;
3354 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3356 uint32_t _ptr_ts;
3357 TALLOC_CTX *_mem_save_ts_0;
3358 if (ndr_flags & NDR_SCALARS) {
3359 NDR_CHECK(ndr_pull_align(ndr, 5));
3360 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3362 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3363 if (_ptr_ts) {
3364 NDR_PULL_ALLOC(ndr, r->ts);
3365 } else {
3366 r->ts = NULL;
3368 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3370 if (ndr_flags & NDR_BUFFERS) {
3371 if (r->ts) {
3372 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3373 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3375 struct ndr_pull *_ndr_ts;
3376 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3378 struct ndr_pull *_ndr_ts_compressed;
3379 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3380 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3381 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3383 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3385 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3388 return NDR_ERR_SUCCESS;
3391 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3393 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3394 ndr->depth++;
3395 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3396 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3397 ndr_print_ptr(ndr, "ts", r->ts);
3398 ndr->depth++;
3399 if (r->ts) {
3400 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3402 ndr->depth--;
3403 ndr->depth--;
3406 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3408 uint32_t _ptr_ts;
3409 TALLOC_CTX *_mem_save_ts_0;
3410 if (ndr_flags & NDR_SCALARS) {
3411 NDR_CHECK(ndr_pull_align(ndr, 5));
3412 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3413 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3414 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3415 if (_ptr_ts) {
3416 NDR_PULL_ALLOC(ndr, r->ts);
3417 } else {
3418 r->ts = NULL;
3420 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3422 if (ndr_flags & NDR_BUFFERS) {
3423 if (r->ts) {
3424 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3425 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3427 struct ndr_pull *_ndr_ts;
3428 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3430 struct ndr_pull *_ndr_ts_compressed;
3431 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3432 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3433 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3435 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3437 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3440 return NDR_ERR_SUCCESS;
3443 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3445 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3446 ndr->depth++;
3447 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3448 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3449 ndr_print_ptr(ndr, "ts", r->ts);
3450 ndr->depth++;
3451 if (r->ts) {
3452 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3454 ndr->depth--;
3455 ndr->depth--;
3458 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3460 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3461 return NDR_ERR_SUCCESS;
3464 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3466 uint16_t v;
3467 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3468 *r = v;
3469 return NDR_ERR_SUCCESS;
3472 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3474 const char *val = NULL;
3476 switch (r) {
3477 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3478 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3480 ndr_print_enum(ndr, name, "ENUM", val, r);
3483 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3486 uint32_t _flags_save_UNION = ndr->flags;
3487 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3488 if (ndr_flags & NDR_SCALARS) {
3489 int level = ndr_push_get_switch_value(ndr, r);
3490 NDR_CHECK(ndr_push_union_align(ndr, 5));
3491 switch (level) {
3492 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3493 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3494 break; }
3496 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3497 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3498 break; }
3500 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3501 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3502 break; }
3504 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3505 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3506 break; }
3508 default:
3509 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3512 if (ndr_flags & NDR_BUFFERS) {
3513 int level = ndr_push_get_switch_value(ndr, r);
3514 switch (level) {
3515 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3516 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3517 break;
3519 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3520 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3521 break;
3523 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3524 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3525 break;
3527 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3528 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3529 break;
3531 default:
3532 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3535 ndr->flags = _flags_save_UNION;
3537 return NDR_ERR_SUCCESS;
3540 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3542 int level;
3544 uint32_t _flags_save_UNION = ndr->flags;
3545 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3546 level = ndr_pull_get_switch_value(ndr, r);
3547 if (ndr_flags & NDR_SCALARS) {
3548 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3549 switch (level) {
3550 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3551 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3552 break; }
3554 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3555 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3556 break; }
3558 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3559 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3560 break; }
3562 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3563 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3564 break; }
3566 default:
3567 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3570 if (ndr_flags & NDR_BUFFERS) {
3571 switch (level) {
3572 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3573 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3574 break;
3576 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3577 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3578 break;
3580 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3581 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3582 break;
3584 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3585 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3586 break;
3588 default:
3589 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3592 ndr->flags = _flags_save_UNION;
3594 return NDR_ERR_SUCCESS;
3597 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3599 int level;
3601 uint32_t _flags_save_UNION = ndr->flags;
3602 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3603 level = ndr_print_get_switch_value(ndr, r);
3604 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3605 switch (level) {
3606 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3607 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3608 break;
3610 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3611 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3612 break;
3614 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3615 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3616 break;
3618 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3619 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3620 break;
3622 default:
3623 ndr_print_bad_level(ndr, name, level);
3625 ndr->flags = _flags_save_UNION;
3629 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3631 if (ndr_flags & NDR_SCALARS) {
3632 NDR_CHECK(ndr_push_align(ndr, 5));
3633 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3634 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3636 if (ndr_flags & NDR_BUFFERS) {
3637 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3639 return NDR_ERR_SUCCESS;
3642 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3644 if (ndr_flags & NDR_SCALARS) {
3645 NDR_CHECK(ndr_pull_align(ndr, 5));
3646 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3647 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3649 if (ndr_flags & NDR_BUFFERS) {
3650 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3652 return NDR_ERR_SUCCESS;
3655 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3657 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3658 ndr->depth++;
3659 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3660 ndr->depth--;
3663 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3665 if (ndr_flags & NDR_SCALARS) {
3666 NDR_CHECK(ndr_push_align(ndr, 5));
3667 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
3668 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3669 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3670 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3671 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3673 if (ndr_flags & NDR_BUFFERS) {
3674 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3676 return NDR_ERR_SUCCESS;
3679 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3681 if (ndr_flags & NDR_SCALARS) {
3682 NDR_CHECK(ndr_pull_align(ndr, 5));
3683 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
3684 if (r->level < 0 || r->level > 6) {
3685 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3687 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3688 if (r->type < 2 || r->type > 3) {
3689 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3691 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3692 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3693 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3695 if (ndr_flags & NDR_BUFFERS) {
3696 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3698 return NDR_ERR_SUCCESS;
3701 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3703 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3704 ndr->depth++;
3705 ndr_print_int32(ndr, "level", r->level);
3706 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3707 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3708 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3709 ndr->depth--;
3712 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3714 if (ndr_flags & NDR_SCALARS) {
3715 int level = ndr_push_get_switch_value(ndr, r);
3716 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3717 NDR_CHECK(ndr_push_union_align(ndr, 8));
3718 switch (level) {
3719 case 1: {
3720 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3721 break; }
3723 case 2: {
3724 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3725 break; }
3727 case 6: {
3728 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3729 break; }
3731 case 7: {
3732 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3733 break; }
3735 default:
3736 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3739 if (ndr_flags & NDR_BUFFERS) {
3740 int level = ndr_push_get_switch_value(ndr, r);
3741 switch (level) {
3742 case 1:
3743 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3744 break;
3746 case 2:
3747 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3748 break;
3750 case 6:
3751 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3752 break;
3754 case 7:
3755 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3756 break;
3758 default:
3759 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3762 return NDR_ERR_SUCCESS;
3765 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3767 int level;
3768 int32_t _level;
3769 level = ndr_pull_get_switch_value(ndr, r);
3770 if (ndr_flags & NDR_SCALARS) {
3771 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3772 if (_level != level) {
3773 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3775 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3776 switch (level) {
3777 case 1: {
3778 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3779 break; }
3781 case 2: {
3782 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3783 break; }
3785 case 6: {
3786 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3787 break; }
3789 case 7: {
3790 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3791 break; }
3793 default:
3794 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3797 if (ndr_flags & NDR_BUFFERS) {
3798 switch (level) {
3799 case 1:
3800 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3801 break;
3803 case 2:
3804 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3805 break;
3807 case 6:
3808 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3809 break;
3811 case 7:
3812 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3813 break;
3815 default:
3816 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3819 return NDR_ERR_SUCCESS;
3822 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3824 int level;
3825 level = ndr_print_get_switch_value(ndr, r);
3826 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3827 switch (level) {
3828 case 1:
3829 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3830 break;
3832 case 2:
3833 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3834 break;
3836 case 6:
3837 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3838 break;
3840 case 7:
3841 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3842 break;
3844 default:
3845 ndr_print_bad_level(ndr, name, level);
3849 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3852 return NDR_ERR_SUCCESS;
3855 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3857 uint32_t v;
3858 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3859 *r = v;
3860 return NDR_ERR_SUCCESS;
3863 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3865 ndr_print_uint32(ndr, name, r);
3866 ndr->depth++;
3867 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION, r);
3868 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK", DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK, r);
3869 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE, r);
3870 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE, r);
3871 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE, r);
3872 ndr->depth--;
3875 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3877 if (ndr_flags & NDR_SCALARS) {
3878 NDR_CHECK(ndr_push_align(ndr, 5));
3879 if (r->naming_context == NULL) {
3880 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3882 NDR_CHECK(ndr_push_ref_ptr(ndr));
3883 if (r->dest_dsa_dns_name == NULL) {
3884 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3886 NDR_CHECK(ndr_push_ref_ptr(ndr));
3887 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3888 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->options));
3889 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3891 if (ndr_flags & NDR_BUFFERS) {
3892 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3893 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3894 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3895 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3896 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dest_dsa_dns_name, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS), sizeof(uint8_t), CH_DOS));
3898 return NDR_ERR_SUCCESS;
3901 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3903 uint32_t _ptr_naming_context;
3904 TALLOC_CTX *_mem_save_naming_context_0;
3905 uint32_t _ptr_dest_dsa_dns_name;
3906 if (ndr_flags & NDR_SCALARS) {
3907 NDR_CHECK(ndr_pull_align(ndr, 5));
3908 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3909 if (_ptr_naming_context) {
3910 NDR_PULL_ALLOC(ndr, r->naming_context);
3911 } else {
3912 r->naming_context = NULL;
3914 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3915 if (_ptr_dest_dsa_dns_name) {
3916 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3917 } else {
3918 r->dest_dsa_dns_name = NULL;
3920 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3921 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->options));
3922 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3924 if (ndr_flags & NDR_BUFFERS) {
3925 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3926 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3927 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3928 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3929 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3930 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3931 if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) {
3932 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dest_dsa_dns_name), ndr_get_array_length(ndr, &r->dest_dsa_dns_name));
3934 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t)));
3935 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dest_dsa_dns_name, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t), CH_DOS));
3937 return NDR_ERR_SUCCESS;
3940 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3942 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3943 ndr->depth++;
3944 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3945 ndr->depth++;
3946 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3947 ndr->depth--;
3948 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3949 ndr->depth++;
3950 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3951 ndr->depth--;
3952 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3953 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "options", r->options);
3954 ndr->depth--;
3957 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3959 if (ndr_flags & NDR_SCALARS) {
3960 int level = ndr_push_get_switch_value(ndr, r);
3961 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3962 NDR_CHECK(ndr_push_union_align(ndr, 5));
3963 switch (level) {
3964 case 1: {
3965 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3966 break; }
3968 default:
3969 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3972 if (ndr_flags & NDR_BUFFERS) {
3973 int level = ndr_push_get_switch_value(ndr, r);
3974 switch (level) {
3975 case 1:
3976 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3977 break;
3979 default:
3980 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3983 return NDR_ERR_SUCCESS;
3986 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3988 int level;
3989 int32_t _level;
3990 level = ndr_pull_get_switch_value(ndr, r);
3991 if (ndr_flags & NDR_SCALARS) {
3992 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3993 if (_level != level) {
3994 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3996 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3997 switch (level) {
3998 case 1: {
3999 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
4000 break; }
4002 default:
4003 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4006 if (ndr_flags & NDR_BUFFERS) {
4007 switch (level) {
4008 case 1:
4009 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
4010 break;
4012 default:
4013 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4016 return NDR_ERR_SUCCESS;
4019 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
4021 int level;
4022 level = ndr_print_get_switch_value(ndr, r);
4023 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
4024 switch (level) {
4025 case 1:
4026 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
4027 break;
4029 default:
4030 ndr_print_bad_level(ndr, name, level);
4034 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4037 return NDR_ERR_SUCCESS;
4040 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4042 uint32_t v;
4043 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4044 *r = v;
4045 return NDR_ERR_SUCCESS;
4048 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4050 ndr_print_uint32(ndr, name, r);
4051 ndr->depth++;
4052 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4053 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4054 ndr->depth--;
4057 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
4059 if (ndr_flags & NDR_SCALARS) {
4060 NDR_CHECK(ndr_push_align(ndr, 5));
4061 if (r->naming_context == NULL) {
4062 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4064 NDR_CHECK(ndr_push_ref_ptr(ndr));
4065 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4066 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4067 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
4068 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4070 if (ndr_flags & NDR_BUFFERS) {
4071 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4072 if (r->source_dsa_address) {
4073 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4074 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4075 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4076 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4079 return NDR_ERR_SUCCESS;
4082 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
4084 uint32_t _ptr_naming_context;
4085 TALLOC_CTX *_mem_save_naming_context_0;
4086 uint32_t _ptr_source_dsa_address;
4087 TALLOC_CTX *_mem_save_source_dsa_address_0;
4088 if (ndr_flags & NDR_SCALARS) {
4089 NDR_CHECK(ndr_pull_align(ndr, 5));
4090 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4091 if (_ptr_naming_context) {
4092 NDR_PULL_ALLOC(ndr, r->naming_context);
4093 } else {
4094 r->naming_context = NULL;
4096 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4097 if (_ptr_source_dsa_address) {
4098 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4099 } else {
4100 r->source_dsa_address = NULL;
4102 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4103 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
4104 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4106 if (ndr_flags & NDR_BUFFERS) {
4107 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4108 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4109 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4110 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4111 if (r->source_dsa_address) {
4112 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4113 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4114 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4115 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4116 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4117 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
4119 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4120 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
4121 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4124 return NDR_ERR_SUCCESS;
4127 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
4129 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
4130 ndr->depth++;
4131 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4132 ndr->depth++;
4133 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4134 ndr->depth--;
4135 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4136 ndr->depth++;
4137 if (r->source_dsa_address) {
4138 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4140 ndr->depth--;
4141 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4142 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
4143 ndr->depth--;
4146 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
4148 if (ndr_flags & NDR_SCALARS) {
4149 NDR_CHECK(ndr_push_align(ndr, 5));
4150 if (r->naming_context == NULL) {
4151 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4153 NDR_CHECK(ndr_push_ref_ptr(ndr));
4154 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
4155 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
4156 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4157 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4158 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
4159 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4161 if (ndr_flags & NDR_BUFFERS) {
4162 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4163 if (r->source_dsa_dn) {
4164 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4166 if (r->transport_dn) {
4167 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4169 if (r->source_dsa_address) {
4170 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4171 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4172 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4173 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4176 return NDR_ERR_SUCCESS;
4179 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
4181 uint32_t _ptr_naming_context;
4182 TALLOC_CTX *_mem_save_naming_context_0;
4183 uint32_t _ptr_source_dsa_dn;
4184 TALLOC_CTX *_mem_save_source_dsa_dn_0;
4185 uint32_t _ptr_transport_dn;
4186 TALLOC_CTX *_mem_save_transport_dn_0;
4187 uint32_t _ptr_source_dsa_address;
4188 TALLOC_CTX *_mem_save_source_dsa_address_0;
4189 if (ndr_flags & NDR_SCALARS) {
4190 NDR_CHECK(ndr_pull_align(ndr, 5));
4191 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4192 if (_ptr_naming_context) {
4193 NDR_PULL_ALLOC(ndr, r->naming_context);
4194 } else {
4195 r->naming_context = NULL;
4197 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
4198 if (_ptr_source_dsa_dn) {
4199 NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
4200 } else {
4201 r->source_dsa_dn = NULL;
4203 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
4204 if (_ptr_transport_dn) {
4205 NDR_PULL_ALLOC(ndr, r->transport_dn);
4206 } else {
4207 r->transport_dn = NULL;
4209 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4210 if (_ptr_source_dsa_address) {
4211 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4212 } else {
4213 r->source_dsa_address = NULL;
4215 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4216 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
4217 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4219 if (ndr_flags & NDR_BUFFERS) {
4220 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4221 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4222 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4224 if (r->source_dsa_dn) {
4225 _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4226 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
4227 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4228 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
4230 if (r->transport_dn) {
4231 _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4232 NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
4233 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4234 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
4236 if (r->source_dsa_address) {
4237 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4238 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4239 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4240 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4241 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4242 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
4244 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4245 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
4246 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4249 return NDR_ERR_SUCCESS;
4252 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
4254 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
4255 ndr->depth++;
4256 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4257 ndr->depth++;
4258 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4259 ndr->depth--;
4260 ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
4261 ndr->depth++;
4262 if (r->source_dsa_dn) {
4263 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
4265 ndr->depth--;
4266 ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
4267 ndr->depth++;
4268 if (r->transport_dn) {
4269 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
4271 ndr->depth--;
4272 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4273 ndr->depth++;
4274 if (r->source_dsa_address) {
4275 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4277 ndr->depth--;
4278 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4279 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
4280 ndr->depth--;
4283 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
4285 if (ndr_flags & NDR_SCALARS) {
4286 int level = ndr_push_get_switch_value(ndr, r);
4287 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4288 NDR_CHECK(ndr_push_union_align(ndr, 5));
4289 switch (level) {
4290 case 1: {
4291 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4292 break; }
4294 case 2: {
4295 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4296 break; }
4298 default:
4299 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4302 if (ndr_flags & NDR_BUFFERS) {
4303 int level = ndr_push_get_switch_value(ndr, r);
4304 switch (level) {
4305 case 1:
4306 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4307 break;
4309 case 2:
4310 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4311 break;
4313 default:
4314 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4317 return NDR_ERR_SUCCESS;
4320 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
4322 int level;
4323 int32_t _level;
4324 level = ndr_pull_get_switch_value(ndr, r);
4325 if (ndr_flags & NDR_SCALARS) {
4326 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4327 if (_level != level) {
4328 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4330 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4331 switch (level) {
4332 case 1: {
4333 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4334 break; }
4336 case 2: {
4337 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4338 break; }
4340 default:
4341 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4344 if (ndr_flags & NDR_BUFFERS) {
4345 switch (level) {
4346 case 1:
4347 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4348 break;
4350 case 2:
4351 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4352 break;
4354 default:
4355 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4358 return NDR_ERR_SUCCESS;
4361 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4363 int level;
4364 level = ndr_print_get_switch_value(ndr, r);
4365 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4366 switch (level) {
4367 case 1:
4368 ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4369 break;
4371 case 2:
4372 ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4373 break;
4375 default:
4376 ndr_print_bad_level(ndr, name, level);
4380 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4383 return NDR_ERR_SUCCESS;
4386 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4388 uint32_t v;
4389 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4390 *r = v;
4391 return NDR_ERR_SUCCESS;
4394 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4396 ndr_print_uint32(ndr, name, r);
4397 ndr->depth++;
4398 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4399 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4400 ndr->depth--;
4403 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4405 if (ndr_flags & NDR_SCALARS) {
4406 NDR_CHECK(ndr_push_align(ndr, 5));
4407 if (r->naming_context == NULL) {
4408 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4410 NDR_CHECK(ndr_push_ref_ptr(ndr));
4411 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4412 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->options));
4413 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4415 if (ndr_flags & NDR_BUFFERS) {
4416 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4417 if (r->source_dsa_address) {
4418 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4419 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4420 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4421 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4424 return NDR_ERR_SUCCESS;
4427 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4429 uint32_t _ptr_naming_context;
4430 TALLOC_CTX *_mem_save_naming_context_0;
4431 uint32_t _ptr_source_dsa_address;
4432 TALLOC_CTX *_mem_save_source_dsa_address_0;
4433 if (ndr_flags & NDR_SCALARS) {
4434 NDR_CHECK(ndr_pull_align(ndr, 5));
4435 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4436 if (_ptr_naming_context) {
4437 NDR_PULL_ALLOC(ndr, r->naming_context);
4438 } else {
4439 r->naming_context = NULL;
4441 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4442 if (_ptr_source_dsa_address) {
4443 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4444 } else {
4445 r->source_dsa_address = NULL;
4447 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->options));
4448 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4450 if (ndr_flags & NDR_BUFFERS) {
4451 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4452 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4453 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4454 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4455 if (r->source_dsa_address) {
4456 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4457 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4458 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4459 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4460 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4461 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
4463 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4464 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
4465 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4468 return NDR_ERR_SUCCESS;
4471 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4473 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4474 ndr->depth++;
4475 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4476 ndr->depth++;
4477 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4478 ndr->depth--;
4479 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4480 ndr->depth++;
4481 if (r->source_dsa_address) {
4482 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4484 ndr->depth--;
4485 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "options", r->options);
4486 ndr->depth--;
4489 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4491 if (ndr_flags & NDR_SCALARS) {
4492 int level = ndr_push_get_switch_value(ndr, r);
4493 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4494 NDR_CHECK(ndr_push_union_align(ndr, 5));
4495 switch (level) {
4496 case 1: {
4497 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4498 break; }
4500 default:
4501 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4504 if (ndr_flags & NDR_BUFFERS) {
4505 int level = ndr_push_get_switch_value(ndr, r);
4506 switch (level) {
4507 case 1:
4508 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4509 break;
4511 default:
4512 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4515 return NDR_ERR_SUCCESS;
4518 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4520 int level;
4521 int32_t _level;
4522 level = ndr_pull_get_switch_value(ndr, r);
4523 if (ndr_flags & NDR_SCALARS) {
4524 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4525 if (_level != level) {
4526 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4528 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4529 switch (level) {
4530 case 1: {
4531 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4532 break; }
4534 default:
4535 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4538 if (ndr_flags & NDR_BUFFERS) {
4539 switch (level) {
4540 case 1:
4541 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4542 break;
4544 default:
4545 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4548 return NDR_ERR_SUCCESS;
4551 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4553 int level;
4554 level = ndr_print_get_switch_value(ndr, r);
4555 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4556 switch (level) {
4557 case 1:
4558 ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4559 break;
4561 default:
4562 ndr_print_bad_level(ndr, name, level);
4566 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4568 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4569 return NDR_ERR_SUCCESS;
4572 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4574 uint32_t v;
4575 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4576 *r = v;
4577 return NDR_ERR_SUCCESS;
4580 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4582 ndr_print_uint32(ndr, name, r);
4583 ndr->depth++;
4584 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4585 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4586 ndr->depth--;
4589 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4591 if (ndr_flags & NDR_SCALARS) {
4592 NDR_CHECK(ndr_push_align(ndr, 5));
4593 if (r->naming_context == NULL) {
4594 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4596 NDR_CHECK(ndr_push_ref_ptr(ndr));
4597 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4598 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4599 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags));
4601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4602 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->options));
4603 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4605 if (ndr_flags & NDR_BUFFERS) {
4606 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4607 if (r->source_dra_address) {
4608 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4609 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4610 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4611 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dra_address, ndr_charset_length(r->source_dra_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4614 return NDR_ERR_SUCCESS;
4617 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4619 uint32_t _ptr_naming_context;
4620 TALLOC_CTX *_mem_save_naming_context_0;
4621 uint32_t _ptr_source_dra_address;
4622 TALLOC_CTX *_mem_save_source_dra_address_0;
4623 if (ndr_flags & NDR_SCALARS) {
4624 NDR_CHECK(ndr_pull_align(ndr, 5));
4625 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4626 if (_ptr_naming_context) {
4627 NDR_PULL_ALLOC(ndr, r->naming_context);
4628 } else {
4629 r->naming_context = NULL;
4631 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4632 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4633 if (_ptr_source_dra_address) {
4634 NDR_PULL_ALLOC(ndr, r->source_dra_address);
4635 } else {
4636 r->source_dra_address = NULL;
4638 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4639 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags));
4640 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4641 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->options));
4642 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4644 if (ndr_flags & NDR_BUFFERS) {
4645 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4646 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4647 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4648 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4649 if (r->source_dra_address) {
4650 _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4651 NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4652 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4653 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4654 if (ndr_get_array_length(ndr, &r->source_dra_address) > ndr_get_array_size(ndr, &r->source_dra_address)) {
4655 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dra_address), ndr_get_array_length(ndr, &r->source_dra_address));
4657 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t)));
4658 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dra_address, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t), CH_UTF16));
4659 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4662 return NDR_ERR_SUCCESS;
4665 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4667 ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4668 ndr->depth++;
4669 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4670 ndr->depth++;
4671 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4672 ndr->depth--;
4673 ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4674 ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4675 ndr->depth++;
4676 if (r->source_dra_address) {
4677 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4679 ndr->depth--;
4680 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4681 ndr_print_uint32(ndr, "replica_flags", r->replica_flags);
4682 ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4683 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "options", r->options);
4684 ndr->depth--;
4687 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4689 if (ndr_flags & NDR_SCALARS) {
4690 int level = ndr_push_get_switch_value(ndr, r);
4691 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4692 NDR_CHECK(ndr_push_union_align(ndr, 5));
4693 switch (level) {
4694 case 1: {
4695 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4696 break; }
4698 default:
4699 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4702 if (ndr_flags & NDR_BUFFERS) {
4703 int level = ndr_push_get_switch_value(ndr, r);
4704 switch (level) {
4705 case 1:
4706 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4707 break;
4709 default:
4710 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4713 return NDR_ERR_SUCCESS;
4716 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4718 int level;
4719 int32_t _level;
4720 level = ndr_pull_get_switch_value(ndr, r);
4721 if (ndr_flags & NDR_SCALARS) {
4722 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4723 if (_level != level) {
4724 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4726 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4727 switch (level) {
4728 case 1: {
4729 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4730 break; }
4732 default:
4733 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4736 if (ndr_flags & NDR_BUFFERS) {
4737 switch (level) {
4738 case 1:
4739 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4740 break;
4742 default:
4743 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4746 return NDR_ERR_SUCCESS;
4749 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
4751 int level;
4752 level = ndr_print_get_switch_value(ndr, r);
4753 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
4754 switch (level) {
4755 case 1:
4756 ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
4757 break;
4759 default:
4760 ndr_print_bad_level(ndr, name, level);
4764 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
4766 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4767 return NDR_ERR_SUCCESS;
4770 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
4772 uint32_t v;
4773 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4774 *r = v;
4775 return NDR_ERR_SUCCESS;
4778 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
4780 const char *val = NULL;
4782 switch (r) {
4783 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4784 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4785 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4786 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4787 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4788 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4789 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4791 ndr_print_enum(ndr, name, "ENUM", val, r);
4794 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
4796 uint32_t cntr_info_array_1;
4797 uint32_t cntr_group_attrs_1;
4798 uint32_t cntr_sids_1;
4799 if (ndr_flags & NDR_SCALARS) {
4800 NDR_CHECK(ndr_push_align(ndr, 5));
4801 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4802 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4804 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4805 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
4806 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4807 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4809 if (ndr_flags & NDR_BUFFERS) {
4810 if (r->info_array) {
4811 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4812 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4813 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4815 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4816 if (r->info_array[cntr_info_array_1]) {
4817 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4821 if (r->group_attrs) {
4822 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4823 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4824 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
4827 if (r->sids) {
4828 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
4829 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4830 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
4832 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4833 if (r->sids[cntr_sids_1]) {
4834 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4839 return NDR_ERR_SUCCESS;
4842 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
4844 uint32_t _ptr_info_array;
4845 uint32_t cntr_info_array_1;
4846 TALLOC_CTX *_mem_save_info_array_0;
4847 TALLOC_CTX *_mem_save_info_array_1;
4848 TALLOC_CTX *_mem_save_info_array_2;
4849 uint32_t _ptr_group_attrs;
4850 uint32_t cntr_group_attrs_1;
4851 TALLOC_CTX *_mem_save_group_attrs_0;
4852 TALLOC_CTX *_mem_save_group_attrs_1;
4853 uint32_t _ptr_sids;
4854 uint32_t cntr_sids_1;
4855 TALLOC_CTX *_mem_save_sids_0;
4856 TALLOC_CTX *_mem_save_sids_1;
4857 TALLOC_CTX *_mem_save_sids_2;
4858 if (ndr_flags & NDR_SCALARS) {
4859 NDR_CHECK(ndr_pull_align(ndr, 5));
4860 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4861 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
4862 if (r->num_memberships > 10000) {
4863 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4865 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
4866 if (r->num_sids > 10000) {
4867 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4869 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4870 if (_ptr_info_array) {
4871 NDR_PULL_ALLOC(ndr, r->info_array);
4872 } else {
4873 r->info_array = NULL;
4875 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
4876 if (_ptr_group_attrs) {
4877 NDR_PULL_ALLOC(ndr, r->group_attrs);
4878 } else {
4879 r->group_attrs = NULL;
4881 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4882 if (_ptr_sids) {
4883 NDR_PULL_ALLOC(ndr, r->sids);
4884 } else {
4885 r->sids = NULL;
4887 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4889 if (ndr_flags & NDR_BUFFERS) {
4890 if (r->info_array) {
4891 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4892 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4893 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4894 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4895 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4896 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4897 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4898 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4899 if (_ptr_info_array) {
4900 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4901 } else {
4902 r->info_array[cntr_info_array_1] = NULL;
4905 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4906 if (r->info_array[cntr_info_array_1]) {
4907 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4908 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4909 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4910 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4913 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4916 if (r->group_attrs) {
4917 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
4918 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4919 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
4920 NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs));
4921 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
4922 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4923 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4924 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
4926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
4927 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
4929 if (r->sids) {
4930 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4931 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4932 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4933 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
4934 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4935 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4936 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4937 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4938 if (_ptr_sids) {
4939 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
4940 } else {
4941 r->sids[cntr_sids_1] = NULL;
4944 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4945 if (r->sids[cntr_sids_1]) {
4946 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
4947 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
4948 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4949 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
4952 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4953 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4955 if (r->info_array) {
4956 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
4958 if (r->group_attrs) {
4959 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
4961 if (r->sids) {
4962 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
4965 return NDR_ERR_SUCCESS;
4968 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
4970 uint32_t cntr_info_array_1;
4971 uint32_t cntr_group_attrs_1;
4972 uint32_t cntr_sids_1;
4973 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
4974 ndr->depth++;
4975 ndr_print_NTSTATUS(ndr, "status", r->status);
4976 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
4977 ndr_print_uint32(ndr, "num_sids", r->num_sids);
4978 ndr_print_ptr(ndr, "info_array", r->info_array);
4979 ndr->depth++;
4980 if (r->info_array) {
4981 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
4982 ndr->depth++;
4983 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
4984 char *idx_1=NULL;
4985 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4986 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4987 ndr->depth++;
4988 if (r->info_array[cntr_info_array_1]) {
4989 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4991 ndr->depth--;
4992 free(idx_1);
4995 ndr->depth--;
4997 ndr->depth--;
4998 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
4999 ndr->depth++;
5000 if (r->group_attrs) {
5001 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
5002 ndr->depth++;
5003 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
5004 char *idx_1=NULL;
5005 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
5006 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
5007 free(idx_1);
5010 ndr->depth--;
5012 ndr->depth--;
5013 ndr_print_ptr(ndr, "sids", r->sids);
5014 ndr->depth++;
5015 if (r->sids) {
5016 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
5017 ndr->depth++;
5018 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
5019 char *idx_1=NULL;
5020 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
5021 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
5022 ndr->depth++;
5023 if (r->sids[cntr_sids_1]) {
5024 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
5026 ndr->depth--;
5027 free(idx_1);
5030 ndr->depth--;
5032 ndr->depth--;
5033 ndr->depth--;
5036 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
5038 if (ndr_flags & NDR_SCALARS) {
5039 int level = ndr_push_get_switch_value(ndr, r);
5040 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5041 NDR_CHECK(ndr_push_union_align(ndr, 5));
5042 switch (level) {
5043 case 1: {
5044 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5045 break; }
5047 default:
5048 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5051 if (ndr_flags & NDR_BUFFERS) {
5052 int level = ndr_push_get_switch_value(ndr, r);
5053 switch (level) {
5054 case 1:
5055 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5056 break;
5058 default:
5059 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5062 return NDR_ERR_SUCCESS;
5065 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
5067 int level;
5068 int32_t _level;
5069 level = ndr_pull_get_switch_value(ndr, r);
5070 if (ndr_flags & NDR_SCALARS) {
5071 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5072 if (_level != level) {
5073 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5075 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5076 switch (level) {
5077 case 1: {
5078 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5079 break; }
5081 default:
5082 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5085 if (ndr_flags & NDR_BUFFERS) {
5086 switch (level) {
5087 case 1:
5088 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5089 break;
5091 default:
5092 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5095 return NDR_ERR_SUCCESS;
5098 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
5100 int level;
5101 level = ndr_print_get_switch_value(ndr, r);
5102 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
5103 switch (level) {
5104 case 1:
5105 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
5106 break;
5108 default:
5109 ndr_print_bad_level(ndr, name, level);
5113 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
5115 uint32_t cntr_info_array_1;
5116 if (ndr_flags & NDR_SCALARS) {
5117 NDR_CHECK(ndr_push_align(ndr, 5));
5118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5119 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
5120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5121 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
5122 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5123 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5125 if (ndr_flags & NDR_BUFFERS) {
5126 if (r->info_array) {
5127 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5128 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5129 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
5131 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5132 if (r->info_array[cntr_info_array_1]) {
5133 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5137 if (r->domain) {
5138 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5141 return NDR_ERR_SUCCESS;
5144 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
5146 uint32_t _ptr_info_array;
5147 uint32_t cntr_info_array_1;
5148 TALLOC_CTX *_mem_save_info_array_0;
5149 TALLOC_CTX *_mem_save_info_array_1;
5150 TALLOC_CTX *_mem_save_info_array_2;
5151 uint32_t _ptr_domain;
5152 TALLOC_CTX *_mem_save_domain_0;
5153 if (ndr_flags & NDR_SCALARS) {
5154 NDR_CHECK(ndr_pull_align(ndr, 5));
5155 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5156 if (r->count < 1 || r->count > 10000) {
5157 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5159 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5160 if (_ptr_info_array) {
5161 NDR_PULL_ALLOC(ndr, r->info_array);
5162 } else {
5163 r->info_array = NULL;
5165 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5166 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
5167 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5168 if (_ptr_domain) {
5169 NDR_PULL_ALLOC(ndr, r->domain);
5170 } else {
5171 r->domain = NULL;
5173 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5175 if (ndr_flags & NDR_BUFFERS) {
5176 if (r->info_array) {
5177 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5178 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5179 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5180 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
5181 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5182 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5183 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5184 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5185 if (_ptr_info_array) {
5186 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5187 } else {
5188 r->info_array[cntr_info_array_1] = NULL;
5191 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5192 if (r->info_array[cntr_info_array_1]) {
5193 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5194 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5195 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5199 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5202 if (r->domain) {
5203 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5204 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5205 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5208 if (r->info_array) {
5209 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
5212 return NDR_ERR_SUCCESS;
5215 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
5217 uint32_t cntr_info_array_1;
5218 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
5219 ndr->depth++;
5220 ndr_print_uint32(ndr, "count", r->count);
5221 ndr_print_ptr(ndr, "info_array", r->info_array);
5222 ndr->depth++;
5223 if (r->info_array) {
5224 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
5225 ndr->depth++;
5226 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
5227 char *idx_1=NULL;
5228 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
5229 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5230 ndr->depth++;
5231 if (r->info_array[cntr_info_array_1]) {
5232 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5234 ndr->depth--;
5235 free(idx_1);
5238 ndr->depth--;
5240 ndr->depth--;
5241 ndr_print_uint32(ndr, "flags", r->flags);
5242 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
5243 ndr_print_ptr(ndr, "domain", r->domain);
5244 ndr->depth++;
5245 if (r->domain) {
5246 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
5248 ndr->depth--;
5249 ndr->depth--;
5252 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
5254 if (ndr_flags & NDR_SCALARS) {
5255 int level = ndr_push_get_switch_value(ndr, r);
5256 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5257 NDR_CHECK(ndr_push_union_align(ndr, 5));
5258 switch (level) {
5259 case 1: {
5260 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5261 break; }
5263 default:
5264 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5267 if (ndr_flags & NDR_BUFFERS) {
5268 int level = ndr_push_get_switch_value(ndr, r);
5269 switch (level) {
5270 case 1:
5271 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5272 break;
5274 default:
5275 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5278 return NDR_ERR_SUCCESS;
5281 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
5283 int level;
5284 int32_t _level;
5285 level = ndr_pull_get_switch_value(ndr, r);
5286 if (ndr_flags & NDR_SCALARS) {
5287 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5288 if (_level != level) {
5289 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5291 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5292 switch (level) {
5293 case 1: {
5294 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5295 break; }
5297 default:
5298 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5301 if (ndr_flags & NDR_BUFFERS) {
5302 switch (level) {
5303 case 1:
5304 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5305 break;
5307 default:
5308 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5311 return NDR_ERR_SUCCESS;
5314 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
5316 int level;
5317 level = ndr_print_get_switch_value(ndr, r);
5318 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
5319 switch (level) {
5320 case 1:
5321 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
5322 break;
5324 default:
5325 ndr_print_bad_level(ndr, name, level);
5329 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5331 if (ndr_flags & NDR_SCALARS) {
5332 NDR_CHECK(ndr_push_align(ndr, 5));
5333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5334 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5335 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5336 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5337 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5339 if (ndr_flags & NDR_BUFFERS) {
5340 if (r->data) {
5341 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
5342 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5345 return NDR_ERR_SUCCESS;
5348 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5350 uint32_t _ptr_data;
5351 TALLOC_CTX *_mem_save_data_0;
5352 if (ndr_flags & NDR_SCALARS) {
5353 NDR_CHECK(ndr_pull_align(ndr, 5));
5354 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5355 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5356 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5357 if (r->length > 0x00A00000) {
5358 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5360 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5361 if (_ptr_data) {
5362 NDR_PULL_ALLOC(ndr, r->data);
5363 } else {
5364 r->data = NULL;
5366 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5368 if (ndr_flags & NDR_BUFFERS) {
5369 if (r->data) {
5370 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5371 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5372 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5373 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
5374 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
5375 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5377 if (r->data) {
5378 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5381 return NDR_ERR_SUCCESS;
5384 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5386 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5387 ndr->depth++;
5388 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5389 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5390 ndr_print_uint32(ndr, "length", r->length);
5391 ndr_print_ptr(ndr, "data", r->data);
5392 ndr->depth++;
5393 if (r->data) {
5394 ndr_print_array_uint8(ndr, "data", r->data, r->length);
5396 ndr->depth--;
5397 ndr->depth--;
5400 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5402 if (ndr_flags & NDR_SCALARS) {
5403 int level = ndr_push_get_switch_value(ndr, r);
5404 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5405 NDR_CHECK(ndr_push_union_align(ndr, 5));
5406 switch (level) {
5407 case 1: {
5408 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5409 break; }
5411 default:
5412 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5415 if (ndr_flags & NDR_BUFFERS) {
5416 int level = ndr_push_get_switch_value(ndr, r);
5417 switch (level) {
5418 case 1:
5419 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5420 break;
5422 default:
5423 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5426 return NDR_ERR_SUCCESS;
5429 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5431 int level;
5432 uint32_t _level;
5433 level = ndr_pull_get_switch_value(ndr, r);
5434 if (ndr_flags & NDR_SCALARS) {
5435 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5436 if (_level != level) {
5437 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5439 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5440 switch (level) {
5441 case 1: {
5442 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5443 break; }
5445 default:
5446 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5449 if (ndr_flags & NDR_BUFFERS) {
5450 switch (level) {
5451 case 1:
5452 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5453 break;
5455 default:
5456 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5459 return NDR_ERR_SUCCESS;
5462 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5464 int level;
5465 level = ndr_print_get_switch_value(ndr, r);
5466 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5467 switch (level) {
5468 case 1:
5469 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5470 break;
5472 default:
5473 ndr_print_bad_level(ndr, name, level);
5477 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5479 if (ndr_flags & NDR_SCALARS) {
5480 NDR_CHECK(ndr_push_align(ndr, 8));
5481 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
5482 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
5483 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
5484 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time2));
5485 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3));
5486 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time4));
5487 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5));
5488 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time6));
5489 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5490 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data1));
5491 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data2));
5492 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5494 if (ndr_flags & NDR_BUFFERS) {
5495 if (r->data1) {
5496 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length1));
5497 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data1, r->length1));
5499 if (r->data2) {
5500 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length2));
5501 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data2, r->length2));
5504 return NDR_ERR_SUCCESS;
5507 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5509 uint32_t _ptr_data1;
5510 TALLOC_CTX *_mem_save_data1_0;
5511 uint32_t _ptr_data2;
5512 TALLOC_CTX *_mem_save_data2_0;
5513 if (ndr_flags & NDR_SCALARS) {
5514 NDR_CHECK(ndr_pull_align(ndr, 8));
5515 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length1));
5516 if (r->length1 > 0x00A00000) {
5517 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5519 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length2));
5520 if (r->length2 > 0x00A00000) {
5521 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5523 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
5524 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time2));
5525 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3));
5526 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time4));
5527 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5));
5528 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time6));
5529 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5530 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data1));
5531 if (_ptr_data1) {
5532 NDR_PULL_ALLOC(ndr, r->data1);
5533 } else {
5534 r->data1 = NULL;
5536 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data2));
5537 if (_ptr_data2) {
5538 NDR_PULL_ALLOC(ndr, r->data2);
5539 } else {
5540 r->data2 = NULL;
5542 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5544 if (ndr_flags & NDR_BUFFERS) {
5545 if (r->data1) {
5546 _mem_save_data1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5547 NDR_PULL_SET_MEM_CTX(ndr, r->data1, 0);
5548 NDR_CHECK(ndr_pull_array_size(ndr, &r->data1));
5549 NDR_PULL_ALLOC_N(ndr, r->data1, ndr_get_array_size(ndr, &r->data1));
5550 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data1, ndr_get_array_size(ndr, &r->data1)));
5551 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data1_0, 0);
5553 if (r->data2) {
5554 _mem_save_data2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5555 NDR_PULL_SET_MEM_CTX(ndr, r->data2, 0);
5556 NDR_CHECK(ndr_pull_array_size(ndr, &r->data2));
5557 NDR_PULL_ALLOC_N(ndr, r->data2, ndr_get_array_size(ndr, &r->data2));
5558 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data2, ndr_get_array_size(ndr, &r->data2)));
5559 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data2_0, 0);
5561 if (r->data1) {
5562 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data1, r->length1));
5564 if (r->data2) {
5565 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data2, r->length2));
5568 return NDR_ERR_SUCCESS;
5571 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5573 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5574 ndr->depth++;
5575 ndr_print_uint32(ndr, "length1", r->length1);
5576 ndr_print_uint32(ndr, "length2", r->length2);
5577 ndr_print_hyper(ndr, "unknown1", r->unknown1);
5578 ndr_print_NTTIME(ndr, "time2", r->time2);
5579 ndr_print_hyper(ndr, "unknown3", r->unknown3);
5580 ndr_print_NTTIME(ndr, "time4", r->time4);
5581 ndr_print_hyper(ndr, "unknown5", r->unknown5);
5582 ndr_print_NTTIME(ndr, "time6", r->time6);
5583 ndr_print_NTSTATUS(ndr, "status", r->status);
5584 ndr_print_ptr(ndr, "data1", r->data1);
5585 ndr->depth++;
5586 if (r->data1) {
5587 ndr_print_array_uint8(ndr, "data1", r->data1, r->length1);
5589 ndr->depth--;
5590 ndr_print_ptr(ndr, "data2", r->data2);
5591 ndr->depth++;
5592 if (r->data2) {
5593 ndr_print_array_uint8(ndr, "data2", r->data2, r->length2);
5595 ndr->depth--;
5596 ndr->depth--;
5599 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5601 if (ndr_flags & NDR_SCALARS) {
5602 int level = ndr_push_get_switch_value(ndr, r);
5603 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5604 NDR_CHECK(ndr_push_union_align(ndr, 8));
5605 switch (level) {
5606 case 1: {
5607 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5608 break; }
5610 default:
5611 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5614 if (ndr_flags & NDR_BUFFERS) {
5615 int level = ndr_push_get_switch_value(ndr, r);
5616 switch (level) {
5617 case 1:
5618 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5619 break;
5621 default:
5622 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5625 return NDR_ERR_SUCCESS;
5628 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5630 int level;
5631 uint32_t _level;
5632 level = ndr_pull_get_switch_value(ndr, r);
5633 if (ndr_flags & NDR_SCALARS) {
5634 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5635 if (_level != level) {
5636 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5638 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5639 switch (level) {
5640 case 1: {
5641 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5642 break; }
5644 default:
5645 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5648 if (ndr_flags & NDR_BUFFERS) {
5649 switch (level) {
5650 case 1:
5651 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5652 break;
5654 default:
5655 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5658 return NDR_ERR_SUCCESS;
5661 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5663 int level;
5664 level = ndr_print_get_switch_value(ndr, r);
5665 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5666 switch (level) {
5667 case 1:
5668 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5669 break;
5671 default:
5672 ndr_print_bad_level(ndr, name, level);
5676 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5678 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5679 return NDR_ERR_SUCCESS;
5682 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5684 uint32_t v;
5685 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5686 *r = v;
5687 return NDR_ERR_SUCCESS;
5690 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5692 const char *val = NULL;
5694 switch (r) {
5695 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5696 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5697 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5698 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5699 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5700 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5701 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5702 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5704 ndr_print_enum(ndr, name, "ENUM", val, r);
5707 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5709 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5710 return NDR_ERR_SUCCESS;
5713 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5715 uint32_t v;
5716 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5717 *r = v;
5718 return NDR_ERR_SUCCESS;
5721 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5723 const char *val = NULL;
5725 switch (r) {
5726 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5727 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5728 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5729 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5730 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5732 ndr_print_enum(ndr, name, "ENUM", val, r);
5735 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5737 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5738 return NDR_ERR_SUCCESS;
5741 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5743 uint32_t v;
5744 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5745 *r = v;
5746 return NDR_ERR_SUCCESS;
5749 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5751 const char *val = NULL;
5753 switch (r) {
5754 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5755 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5756 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5757 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5758 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5759 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5760 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5761 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5762 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5763 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5764 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5766 ndr_print_enum(ndr, name, "ENUM", val, r);
5769 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5771 if (ndr_flags & NDR_SCALARS) {
5772 NDR_CHECK(ndr_push_align(ndr, 5));
5773 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5774 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5776 if (ndr_flags & NDR_BUFFERS) {
5777 if (r->str) {
5778 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5779 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5780 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5781 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5784 return NDR_ERR_SUCCESS;
5787 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5789 uint32_t _ptr_str;
5790 TALLOC_CTX *_mem_save_str_0;
5791 if (ndr_flags & NDR_SCALARS) {
5792 NDR_CHECK(ndr_pull_align(ndr, 5));
5793 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5794 if (_ptr_str) {
5795 NDR_PULL_ALLOC(ndr, r->str);
5796 } else {
5797 r->str = NULL;
5799 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5801 if (ndr_flags & NDR_BUFFERS) {
5802 if (r->str) {
5803 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5804 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5805 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5806 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5807 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
5808 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->str), ndr_get_array_length(ndr, &r->str));
5810 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
5811 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
5812 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5815 return NDR_ERR_SUCCESS;
5818 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5820 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5821 ndr->depth++;
5822 ndr_print_ptr(ndr, "str", r->str);
5823 ndr->depth++;
5824 if (r->str) {
5825 ndr_print_string(ndr, "str", r->str);
5827 ndr->depth--;
5828 ndr->depth--;
5831 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5833 uint32_t cntr_names_1;
5834 if (ndr_flags & NDR_SCALARS) {
5835 NDR_CHECK(ndr_push_align(ndr, 5));
5836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5837 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5838 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5839 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5840 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5841 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5842 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5843 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5845 if (ndr_flags & NDR_BUFFERS) {
5846 if (r->names) {
5847 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5848 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5849 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5851 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5852 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5856 return NDR_ERR_SUCCESS;
5859 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5861 uint32_t _ptr_names;
5862 uint32_t cntr_names_1;
5863 TALLOC_CTX *_mem_save_names_0;
5864 TALLOC_CTX *_mem_save_names_1;
5865 if (ndr_flags & NDR_SCALARS) {
5866 NDR_CHECK(ndr_pull_align(ndr, 5));
5867 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5868 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5869 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5870 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5871 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5872 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5873 if (r->count < 1 || r->count > 10000) {
5874 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5876 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5877 if (_ptr_names) {
5878 NDR_PULL_ALLOC(ndr, r->names);
5879 } else {
5880 r->names = NULL;
5882 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5884 if (ndr_flags & NDR_BUFFERS) {
5885 if (r->names) {
5886 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5887 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5888 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
5889 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
5890 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5891 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5892 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5893 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5895 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5896 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
5899 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
5901 if (r->names) {
5902 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
5905 return NDR_ERR_SUCCESS;
5908 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
5910 uint32_t cntr_names_1;
5911 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
5912 ndr->depth++;
5913 ndr_print_uint32(ndr, "codepage", r->codepage);
5914 ndr_print_uint32(ndr, "language", r->language);
5915 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
5916 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
5917 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
5918 ndr_print_uint32(ndr, "count", r->count);
5919 ndr_print_ptr(ndr, "names", r->names);
5920 ndr->depth++;
5921 if (r->names) {
5922 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
5923 ndr->depth++;
5924 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
5925 char *idx_1=NULL;
5926 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
5927 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
5928 free(idx_1);
5931 ndr->depth--;
5933 ndr->depth--;
5934 ndr->depth--;
5937 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
5939 if (ndr_flags & NDR_SCALARS) {
5940 int level = ndr_push_get_switch_value(ndr, r);
5941 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5942 NDR_CHECK(ndr_push_union_align(ndr, 5));
5943 switch (level) {
5944 case 1: {
5945 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5946 break; }
5948 default:
5949 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5952 if (ndr_flags & NDR_BUFFERS) {
5953 int level = ndr_push_get_switch_value(ndr, r);
5954 switch (level) {
5955 case 1:
5956 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5957 break;
5959 default:
5960 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5963 return NDR_ERR_SUCCESS;
5966 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
5968 int level;
5969 int32_t _level;
5970 level = ndr_pull_get_switch_value(ndr, r);
5971 if (ndr_flags & NDR_SCALARS) {
5972 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5973 if (_level != level) {
5974 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5976 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5977 switch (level) {
5978 case 1: {
5979 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5980 break; }
5982 default:
5983 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5986 if (ndr_flags & NDR_BUFFERS) {
5987 switch (level) {
5988 case 1:
5989 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5990 break;
5992 default:
5993 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5996 return NDR_ERR_SUCCESS;
5999 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
6001 int level;
6002 level = ndr_print_get_switch_value(ndr, r);
6003 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
6004 switch (level) {
6005 case 1:
6006 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
6007 break;
6009 default:
6010 ndr_print_bad_level(ndr, name, level);
6014 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
6016 if (ndr_flags & NDR_SCALARS) {
6017 NDR_CHECK(ndr_push_align(ndr, 5));
6018 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
6019 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
6020 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
6021 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6023 if (ndr_flags & NDR_BUFFERS) {
6024 if (r->dns_domain_name) {
6025 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
6026 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6027 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
6028 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_domain_name, ndr_charset_length(r->dns_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6030 if (r->result_name) {
6031 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
6032 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6033 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
6034 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6037 return NDR_ERR_SUCCESS;
6040 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
6042 uint32_t _ptr_dns_domain_name;
6043 TALLOC_CTX *_mem_save_dns_domain_name_0;
6044 uint32_t _ptr_result_name;
6045 TALLOC_CTX *_mem_save_result_name_0;
6046 if (ndr_flags & NDR_SCALARS) {
6047 NDR_CHECK(ndr_pull_align(ndr, 5));
6048 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
6049 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
6050 if (_ptr_dns_domain_name) {
6051 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
6052 } else {
6053 r->dns_domain_name = NULL;
6055 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
6056 if (_ptr_result_name) {
6057 NDR_PULL_ALLOC(ndr, r->result_name);
6058 } else {
6059 r->result_name = NULL;
6061 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6063 if (ndr_flags & NDR_BUFFERS) {
6064 if (r->dns_domain_name) {
6065 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6066 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
6067 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
6068 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
6069 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
6070 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_domain_name), ndr_get_array_length(ndr, &r->dns_domain_name));
6072 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
6073 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain_name, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t), CH_UTF16));
6074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
6076 if (r->result_name) {
6077 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6078 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
6079 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
6080 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
6081 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
6082 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->result_name), ndr_get_array_length(ndr, &r->result_name));
6084 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
6085 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
6086 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
6089 return NDR_ERR_SUCCESS;
6092 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
6094 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
6095 ndr->depth++;
6096 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
6097 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
6098 ndr->depth++;
6099 if (r->dns_domain_name) {
6100 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
6102 ndr->depth--;
6103 ndr_print_ptr(ndr, "result_name", r->result_name);
6104 ndr->depth++;
6105 if (r->result_name) {
6106 ndr_print_string(ndr, "result_name", r->result_name);
6108 ndr->depth--;
6109 ndr->depth--;
6112 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
6114 uint32_t cntr_array_1;
6115 if (ndr_flags & NDR_SCALARS) {
6116 NDR_CHECK(ndr_push_align(ndr, 5));
6117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6118 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6119 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6121 if (ndr_flags & NDR_BUFFERS) {
6122 if (r->array) {
6123 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6124 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6125 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6127 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6128 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6132 return NDR_ERR_SUCCESS;
6135 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
6137 uint32_t _ptr_array;
6138 uint32_t cntr_array_1;
6139 TALLOC_CTX *_mem_save_array_0;
6140 TALLOC_CTX *_mem_save_array_1;
6141 if (ndr_flags & NDR_SCALARS) {
6142 NDR_CHECK(ndr_pull_align(ndr, 5));
6143 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6144 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6145 if (_ptr_array) {
6146 NDR_PULL_ALLOC(ndr, r->array);
6147 } else {
6148 r->array = NULL;
6150 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6152 if (ndr_flags & NDR_BUFFERS) {
6153 if (r->array) {
6154 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6155 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6156 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6157 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6158 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6159 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6160 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6161 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6163 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6164 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6167 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6169 if (r->array) {
6170 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6173 return NDR_ERR_SUCCESS;
6176 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6178 uint32_t cntr_array_1;
6179 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6180 ndr->depth++;
6181 ndr_print_uint32(ndr, "count", r->count);
6182 ndr_print_ptr(ndr, "array", r->array);
6183 ndr->depth++;
6184 if (r->array) {
6185 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6186 ndr->depth++;
6187 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6188 char *idx_1=NULL;
6189 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6190 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6191 free(idx_1);
6194 ndr->depth--;
6196 ndr->depth--;
6197 ndr->depth--;
6200 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6202 if (ndr_flags & NDR_SCALARS) {
6203 int level = ndr_push_get_switch_value(ndr, r);
6204 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6205 NDR_CHECK(ndr_push_union_align(ndr, 5));
6206 switch (level) {
6207 case 1: {
6208 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6209 break; }
6211 default:
6212 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6215 if (ndr_flags & NDR_BUFFERS) {
6216 int level = ndr_push_get_switch_value(ndr, r);
6217 switch (level) {
6218 case 1:
6219 if (r->ctr1) {
6220 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6222 break;
6224 default:
6225 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6228 return NDR_ERR_SUCCESS;
6231 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6233 int level;
6234 int32_t _level;
6235 TALLOC_CTX *_mem_save_ctr1_0;
6236 level = ndr_pull_get_switch_value(ndr, r);
6237 if (ndr_flags & NDR_SCALARS) {
6238 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6239 if (_level != level) {
6240 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6242 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6243 switch (level) {
6244 case 1: {
6245 uint32_t _ptr_ctr1;
6246 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6247 if (_ptr_ctr1) {
6248 NDR_PULL_ALLOC(ndr, r->ctr1);
6249 } else {
6250 r->ctr1 = NULL;
6252 break; }
6254 default:
6255 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6258 if (ndr_flags & NDR_BUFFERS) {
6259 switch (level) {
6260 case 1:
6261 if (r->ctr1) {
6262 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6263 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6264 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6265 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6267 break;
6269 default:
6270 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6273 return NDR_ERR_SUCCESS;
6276 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6278 int level;
6279 level = ndr_print_get_switch_value(ndr, r);
6280 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6281 switch (level) {
6282 case 1:
6283 ndr_print_ptr(ndr, "ctr1", r->ctr1);
6284 ndr->depth++;
6285 if (r->ctr1) {
6286 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6288 ndr->depth--;
6289 break;
6291 default:
6292 ndr_print_bad_level(ndr, name, level);
6296 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6298 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6299 return NDR_ERR_SUCCESS;
6302 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6304 uint32_t v;
6305 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6306 *r = v;
6307 return NDR_ERR_SUCCESS;
6310 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6312 const char *val = NULL;
6314 switch (r) {
6315 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6316 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6317 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6319 ndr_print_enum(ndr, name, "ENUM", val, r);
6322 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6324 uint32_t cntr_spn_names_1;
6325 if (ndr_flags & NDR_SCALARS) {
6326 NDR_CHECK(ndr_push_align(ndr, 5));
6327 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6328 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6329 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6331 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6332 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6334 if (ndr_flags & NDR_BUFFERS) {
6335 if (r->object_dn) {
6336 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6337 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6338 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6339 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6341 if (r->spn_names) {
6342 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6343 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6344 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6346 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6347 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6351 return NDR_ERR_SUCCESS;
6354 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6356 uint32_t _ptr_object_dn;
6357 TALLOC_CTX *_mem_save_object_dn_0;
6358 uint32_t _ptr_spn_names;
6359 uint32_t cntr_spn_names_1;
6360 TALLOC_CTX *_mem_save_spn_names_0;
6361 TALLOC_CTX *_mem_save_spn_names_1;
6362 if (ndr_flags & NDR_SCALARS) {
6363 NDR_CHECK(ndr_pull_align(ndr, 5));
6364 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6365 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6366 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6367 if (_ptr_object_dn) {
6368 NDR_PULL_ALLOC(ndr, r->object_dn);
6369 } else {
6370 r->object_dn = NULL;
6372 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6373 if (r->count > 10000) {
6374 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6376 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6377 if (_ptr_spn_names) {
6378 NDR_PULL_ALLOC(ndr, r->spn_names);
6379 } else {
6380 r->spn_names = NULL;
6382 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6384 if (ndr_flags & NDR_BUFFERS) {
6385 if (r->object_dn) {
6386 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6387 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6388 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6389 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6390 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
6391 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
6393 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
6394 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
6395 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6397 if (r->spn_names) {
6398 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6399 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6400 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6401 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
6402 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6403 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6404 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6405 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6407 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6408 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6410 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6411 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6413 if (r->spn_names) {
6414 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6417 return NDR_ERR_SUCCESS;
6420 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6422 uint32_t cntr_spn_names_1;
6423 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6424 ndr->depth++;
6425 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6426 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6427 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6428 ndr->depth++;
6429 if (r->object_dn) {
6430 ndr_print_string(ndr, "object_dn", r->object_dn);
6432 ndr->depth--;
6433 ndr_print_uint32(ndr, "count", r->count);
6434 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6435 ndr->depth++;
6436 if (r->spn_names) {
6437 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6438 ndr->depth++;
6439 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6440 char *idx_1=NULL;
6441 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
6442 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6443 free(idx_1);
6446 ndr->depth--;
6448 ndr->depth--;
6449 ndr->depth--;
6452 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6454 if (ndr_flags & NDR_SCALARS) {
6455 int level = ndr_push_get_switch_value(ndr, r);
6456 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6457 NDR_CHECK(ndr_push_union_align(ndr, 5));
6458 switch (level) {
6459 case 1: {
6460 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6461 break; }
6463 default:
6464 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6467 if (ndr_flags & NDR_BUFFERS) {
6468 int level = ndr_push_get_switch_value(ndr, r);
6469 switch (level) {
6470 case 1:
6471 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6472 break;
6474 default:
6475 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6478 return NDR_ERR_SUCCESS;
6481 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6483 int level;
6484 int32_t _level;
6485 level = ndr_pull_get_switch_value(ndr, r);
6486 if (ndr_flags & NDR_SCALARS) {
6487 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6488 if (_level != level) {
6489 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6491 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6492 switch (level) {
6493 case 1: {
6494 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6495 break; }
6497 default:
6498 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6501 if (ndr_flags & NDR_BUFFERS) {
6502 switch (level) {
6503 case 1:
6504 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6505 break;
6507 default:
6508 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6511 return NDR_ERR_SUCCESS;
6514 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6516 int level;
6517 level = ndr_print_get_switch_value(ndr, r);
6518 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6519 switch (level) {
6520 case 1:
6521 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6522 break;
6524 default:
6525 ndr_print_bad_level(ndr, name, level);
6529 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6531 if (ndr_flags & NDR_SCALARS) {
6532 NDR_CHECK(ndr_push_align(ndr, 4));
6533 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6534 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6536 if (ndr_flags & NDR_BUFFERS) {
6538 return NDR_ERR_SUCCESS;
6541 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6543 if (ndr_flags & NDR_SCALARS) {
6544 NDR_CHECK(ndr_pull_align(ndr, 4));
6545 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6546 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6548 if (ndr_flags & NDR_BUFFERS) {
6550 return NDR_ERR_SUCCESS;
6553 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6555 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6556 ndr->depth++;
6557 ndr_print_WERROR(ndr, "status", r->status);
6558 ndr->depth--;
6561 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6563 if (ndr_flags & NDR_SCALARS) {
6564 int level = ndr_push_get_switch_value(ndr, r);
6565 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6566 NDR_CHECK(ndr_push_union_align(ndr, 4));
6567 switch (level) {
6568 case 1: {
6569 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6570 break; }
6572 default:
6573 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6576 if (ndr_flags & NDR_BUFFERS) {
6577 int level = ndr_push_get_switch_value(ndr, r);
6578 switch (level) {
6579 case 1:
6580 break;
6582 default:
6583 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6586 return NDR_ERR_SUCCESS;
6589 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6591 int level;
6592 int32_t _level;
6593 level = ndr_pull_get_switch_value(ndr, r);
6594 if (ndr_flags & NDR_SCALARS) {
6595 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6596 if (_level != level) {
6597 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6599 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6600 switch (level) {
6601 case 1: {
6602 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6603 break; }
6605 default:
6606 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6609 if (ndr_flags & NDR_BUFFERS) {
6610 switch (level) {
6611 case 1:
6612 break;
6614 default:
6615 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6618 return NDR_ERR_SUCCESS;
6621 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6623 int level;
6624 level = ndr_print_get_switch_value(ndr, r);
6625 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6626 switch (level) {
6627 case 1:
6628 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6629 break;
6631 default:
6632 ndr_print_bad_level(ndr, name, level);
6636 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6638 if (ndr_flags & NDR_SCALARS) {
6639 NDR_CHECK(ndr_push_align(ndr, 5));
6640 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6641 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6642 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6643 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6645 if (ndr_flags & NDR_BUFFERS) {
6646 if (r->server_dn) {
6647 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6648 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6649 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6650 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6652 if (r->domain_dn) {
6653 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6654 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6655 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6656 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6659 return NDR_ERR_SUCCESS;
6662 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6664 uint32_t _ptr_server_dn;
6665 TALLOC_CTX *_mem_save_server_dn_0;
6666 uint32_t _ptr_domain_dn;
6667 TALLOC_CTX *_mem_save_domain_dn_0;
6668 if (ndr_flags & NDR_SCALARS) {
6669 NDR_CHECK(ndr_pull_align(ndr, 5));
6670 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6671 if (_ptr_server_dn) {
6672 NDR_PULL_ALLOC(ndr, r->server_dn);
6673 } else {
6674 r->server_dn = NULL;
6676 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6677 if (_ptr_domain_dn) {
6678 NDR_PULL_ALLOC(ndr, r->domain_dn);
6679 } else {
6680 r->domain_dn = NULL;
6682 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6683 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6685 if (ndr_flags & NDR_BUFFERS) {
6686 if (r->server_dn) {
6687 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6688 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6689 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6690 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6691 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6692 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
6694 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6695 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6698 if (r->domain_dn) {
6699 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6700 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6701 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6702 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6703 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
6704 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_dn), ndr_get_array_length(ndr, &r->domain_dn));
6706 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
6707 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
6708 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6711 return NDR_ERR_SUCCESS;
6714 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6716 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6717 ndr->depth++;
6718 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6719 ndr->depth++;
6720 if (r->server_dn) {
6721 ndr_print_string(ndr, "server_dn", r->server_dn);
6723 ndr->depth--;
6724 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6725 ndr->depth++;
6726 if (r->domain_dn) {
6727 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6729 ndr->depth--;
6730 ndr_print_uint32(ndr, "commit", r->commit);
6731 ndr->depth--;
6734 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6736 if (ndr_flags & NDR_SCALARS) {
6737 int level = ndr_push_get_switch_value(ndr, r);
6738 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6739 NDR_CHECK(ndr_push_union_align(ndr, 5));
6740 switch (level) {
6741 case 1: {
6742 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6743 break; }
6745 default:
6746 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6749 if (ndr_flags & NDR_BUFFERS) {
6750 int level = ndr_push_get_switch_value(ndr, r);
6751 switch (level) {
6752 case 1:
6753 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6754 break;
6756 default:
6757 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6760 return NDR_ERR_SUCCESS;
6763 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6765 int level;
6766 int32_t _level;
6767 level = ndr_pull_get_switch_value(ndr, r);
6768 if (ndr_flags & NDR_SCALARS) {
6769 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6770 if (_level != level) {
6771 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6773 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6774 switch (level) {
6775 case 1: {
6776 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6777 break; }
6779 default:
6780 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6783 if (ndr_flags & NDR_BUFFERS) {
6784 switch (level) {
6785 case 1:
6786 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6787 break;
6789 default:
6790 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6793 return NDR_ERR_SUCCESS;
6796 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6798 int level;
6799 level = ndr_print_get_switch_value(ndr, r);
6800 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6801 switch (level) {
6802 case 1:
6803 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6804 break;
6806 default:
6807 ndr_print_bad_level(ndr, name, level);
6811 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6813 if (ndr_flags & NDR_SCALARS) {
6814 NDR_CHECK(ndr_push_align(ndr, 4));
6815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6816 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6818 if (ndr_flags & NDR_BUFFERS) {
6820 return NDR_ERR_SUCCESS;
6823 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6825 if (ndr_flags & NDR_SCALARS) {
6826 NDR_CHECK(ndr_pull_align(ndr, 4));
6827 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6828 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6830 if (ndr_flags & NDR_BUFFERS) {
6832 return NDR_ERR_SUCCESS;
6835 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6837 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
6838 ndr->depth++;
6839 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
6840 ndr->depth--;
6843 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
6845 if (ndr_flags & NDR_SCALARS) {
6846 int level = ndr_push_get_switch_value(ndr, r);
6847 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6848 NDR_CHECK(ndr_push_union_align(ndr, 4));
6849 switch (level) {
6850 case 1: {
6851 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6852 break; }
6854 default:
6855 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6858 if (ndr_flags & NDR_BUFFERS) {
6859 int level = ndr_push_get_switch_value(ndr, r);
6860 switch (level) {
6861 case 1:
6862 break;
6864 default:
6865 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6868 return NDR_ERR_SUCCESS;
6871 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
6873 int level;
6874 int32_t _level;
6875 level = ndr_pull_get_switch_value(ndr, r);
6876 if (ndr_flags & NDR_SCALARS) {
6877 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6878 if (_level != level) {
6879 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6881 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6882 switch (level) {
6883 case 1: {
6884 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6885 break; }
6887 default:
6888 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6891 if (ndr_flags & NDR_BUFFERS) {
6892 switch (level) {
6893 case 1:
6894 break;
6896 default:
6897 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6900 return NDR_ERR_SUCCESS;
6903 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
6905 int level;
6906 level = ndr_print_get_switch_value(ndr, r);
6907 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
6908 switch (level) {
6909 case 1:
6910 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
6911 break;
6913 default:
6914 ndr_print_bad_level(ndr, name, level);
6918 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
6920 if (ndr_flags & NDR_SCALARS) {
6921 NDR_CHECK(ndr_push_align(ndr, 5));
6922 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6923 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
6924 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6926 if (ndr_flags & NDR_BUFFERS) {
6927 if (r->domain_name) {
6928 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6929 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6930 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6931 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6934 return NDR_ERR_SUCCESS;
6937 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
6939 uint32_t _ptr_domain_name;
6940 TALLOC_CTX *_mem_save_domain_name_0;
6941 if (ndr_flags & NDR_SCALARS) {
6942 NDR_CHECK(ndr_pull_align(ndr, 5));
6943 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6944 if (_ptr_domain_name) {
6945 NDR_PULL_ALLOC(ndr, r->domain_name);
6946 } else {
6947 r->domain_name = NULL;
6949 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
6950 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6952 if (ndr_flags & NDR_BUFFERS) {
6953 if (r->domain_name) {
6954 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6955 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6956 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6957 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6958 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6959 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));
6961 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6962 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6963 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6966 return NDR_ERR_SUCCESS;
6969 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
6971 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
6972 ndr->depth++;
6973 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6974 ndr->depth++;
6975 if (r->domain_name) {
6976 ndr_print_string(ndr, "domain_name", r->domain_name);
6978 ndr->depth--;
6979 ndr_print_int32(ndr, "level", r->level);
6980 ndr->depth--;
6983 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
6985 if (ndr_flags & NDR_SCALARS) {
6986 int level = ndr_push_get_switch_value(ndr, r);
6987 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6988 NDR_CHECK(ndr_push_union_align(ndr, 5));
6989 switch (level) {
6990 case 1: {
6991 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6992 break; }
6994 default:
6995 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6998 if (ndr_flags & NDR_BUFFERS) {
6999 int level = ndr_push_get_switch_value(ndr, r);
7000 switch (level) {
7001 case 1:
7002 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
7003 break;
7005 default:
7006 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7009 return NDR_ERR_SUCCESS;
7012 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
7014 int level;
7015 int32_t _level;
7016 level = ndr_pull_get_switch_value(ndr, r);
7017 if (ndr_flags & NDR_SCALARS) {
7018 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
7019 if (_level != level) {
7020 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7022 NDR_CHECK(ndr_pull_union_align(ndr, 5));
7023 switch (level) {
7024 case 1: {
7025 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
7026 break; }
7028 default:
7029 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7032 if (ndr_flags & NDR_BUFFERS) {
7033 switch (level) {
7034 case 1:
7035 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
7036 break;
7038 default:
7039 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7042 return NDR_ERR_SUCCESS;
7045 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
7047 int level;
7048 level = ndr_print_get_switch_value(ndr, r);
7049 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
7050 switch (level) {
7051 case 1:
7052 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
7053 break;
7055 default:
7056 ndr_print_bad_level(ndr, name, level);
7060 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
7062 if (ndr_flags & NDR_SCALARS) {
7063 NDR_CHECK(ndr_push_align(ndr, 5));
7064 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7065 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7066 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7067 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7068 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7069 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7070 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7071 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7073 if (ndr_flags & NDR_BUFFERS) {
7074 if (r->netbios_name) {
7075 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7076 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7077 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7078 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7080 if (r->dns_name) {
7081 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7082 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7083 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7084 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7086 if (r->site_name) {
7087 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7088 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7089 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7090 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7092 if (r->computer_dn) {
7093 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7094 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7095 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7096 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7098 if (r->server_dn) {
7099 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7100 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7101 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7102 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7105 return NDR_ERR_SUCCESS;
7108 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
7110 uint32_t _ptr_netbios_name;
7111 TALLOC_CTX *_mem_save_netbios_name_0;
7112 uint32_t _ptr_dns_name;
7113 TALLOC_CTX *_mem_save_dns_name_0;
7114 uint32_t _ptr_site_name;
7115 TALLOC_CTX *_mem_save_site_name_0;
7116 uint32_t _ptr_computer_dn;
7117 TALLOC_CTX *_mem_save_computer_dn_0;
7118 uint32_t _ptr_server_dn;
7119 TALLOC_CTX *_mem_save_server_dn_0;
7120 if (ndr_flags & NDR_SCALARS) {
7121 NDR_CHECK(ndr_pull_align(ndr, 5));
7122 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7123 if (_ptr_netbios_name) {
7124 NDR_PULL_ALLOC(ndr, r->netbios_name);
7125 } else {
7126 r->netbios_name = NULL;
7128 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7129 if (_ptr_dns_name) {
7130 NDR_PULL_ALLOC(ndr, r->dns_name);
7131 } else {
7132 r->dns_name = NULL;
7134 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7135 if (_ptr_site_name) {
7136 NDR_PULL_ALLOC(ndr, r->site_name);
7137 } else {
7138 r->site_name = NULL;
7140 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7141 if (_ptr_computer_dn) {
7142 NDR_PULL_ALLOC(ndr, r->computer_dn);
7143 } else {
7144 r->computer_dn = NULL;
7146 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7147 if (_ptr_server_dn) {
7148 NDR_PULL_ALLOC(ndr, r->server_dn);
7149 } else {
7150 r->server_dn = NULL;
7152 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7153 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7154 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7156 if (ndr_flags & NDR_BUFFERS) {
7157 if (r->netbios_name) {
7158 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7159 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7160 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7161 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7162 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7163 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7165 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7166 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7167 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7169 if (r->dns_name) {
7170 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7171 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7172 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7173 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7174 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7175 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7177 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7178 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7179 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7181 if (r->site_name) {
7182 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7183 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7184 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7185 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7186 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7187 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name));
7189 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7190 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7193 if (r->computer_dn) {
7194 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7195 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7196 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7197 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7198 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7199 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn));
7201 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7202 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7203 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7205 if (r->server_dn) {
7206 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7207 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7208 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7209 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7210 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7211 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
7213 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7214 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7218 return NDR_ERR_SUCCESS;
7221 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7223 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7224 ndr->depth++;
7225 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7226 ndr->depth++;
7227 if (r->netbios_name) {
7228 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7230 ndr->depth--;
7231 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7232 ndr->depth++;
7233 if (r->dns_name) {
7234 ndr_print_string(ndr, "dns_name", r->dns_name);
7236 ndr->depth--;
7237 ndr_print_ptr(ndr, "site_name", r->site_name);
7238 ndr->depth++;
7239 if (r->site_name) {
7240 ndr_print_string(ndr, "site_name", r->site_name);
7242 ndr->depth--;
7243 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7244 ndr->depth++;
7245 if (r->computer_dn) {
7246 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7248 ndr->depth--;
7249 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7250 ndr->depth++;
7251 if (r->server_dn) {
7252 ndr_print_string(ndr, "server_dn", r->server_dn);
7254 ndr->depth--;
7255 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7256 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7257 ndr->depth--;
7260 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7262 uint32_t cntr_array_1;
7263 if (ndr_flags & NDR_SCALARS) {
7264 NDR_CHECK(ndr_push_align(ndr, 5));
7265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7266 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7267 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7269 if (ndr_flags & NDR_BUFFERS) {
7270 if (r->array) {
7271 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7272 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7273 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7275 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7276 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7280 return NDR_ERR_SUCCESS;
7283 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7285 uint32_t _ptr_array;
7286 uint32_t cntr_array_1;
7287 TALLOC_CTX *_mem_save_array_0;
7288 TALLOC_CTX *_mem_save_array_1;
7289 if (ndr_flags & NDR_SCALARS) {
7290 NDR_CHECK(ndr_pull_align(ndr, 5));
7291 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7292 if (r->count > 10000) {
7293 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7295 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7296 if (_ptr_array) {
7297 NDR_PULL_ALLOC(ndr, r->array);
7298 } else {
7299 r->array = NULL;
7301 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7303 if (ndr_flags & NDR_BUFFERS) {
7304 if (r->array) {
7305 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7306 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7307 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7308 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7309 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7310 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7311 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7312 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7314 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7315 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7320 if (r->array) {
7321 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7324 return NDR_ERR_SUCCESS;
7327 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7329 uint32_t cntr_array_1;
7330 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7331 ndr->depth++;
7332 ndr_print_uint32(ndr, "count", r->count);
7333 ndr_print_ptr(ndr, "array", r->array);
7334 ndr->depth++;
7335 if (r->array) {
7336 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7337 ndr->depth++;
7338 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7339 char *idx_1=NULL;
7340 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7341 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7342 free(idx_1);
7345 ndr->depth--;
7347 ndr->depth--;
7348 ndr->depth--;
7351 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7353 if (ndr_flags & NDR_SCALARS) {
7354 NDR_CHECK(ndr_push_align(ndr, 5));
7355 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7356 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7357 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7358 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7359 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7360 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7361 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7365 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7366 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7367 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7368 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7369 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7371 if (ndr_flags & NDR_BUFFERS) {
7372 if (r->netbios_name) {
7373 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7374 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7375 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7376 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7378 if (r->dns_name) {
7379 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7380 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7381 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7382 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7384 if (r->site_name) {
7385 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7386 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7387 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7388 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7390 if (r->site_dn) {
7391 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7392 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7393 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7394 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7396 if (r->computer_dn) {
7397 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7398 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7399 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7400 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7402 if (r->server_dn) {
7403 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7404 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7405 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7406 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7408 if (r->ntds_dn) {
7409 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7410 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7411 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7412 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7415 return NDR_ERR_SUCCESS;
7418 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7420 uint32_t _ptr_netbios_name;
7421 TALLOC_CTX *_mem_save_netbios_name_0;
7422 uint32_t _ptr_dns_name;
7423 TALLOC_CTX *_mem_save_dns_name_0;
7424 uint32_t _ptr_site_name;
7425 TALLOC_CTX *_mem_save_site_name_0;
7426 uint32_t _ptr_site_dn;
7427 TALLOC_CTX *_mem_save_site_dn_0;
7428 uint32_t _ptr_computer_dn;
7429 TALLOC_CTX *_mem_save_computer_dn_0;
7430 uint32_t _ptr_server_dn;
7431 TALLOC_CTX *_mem_save_server_dn_0;
7432 uint32_t _ptr_ntds_dn;
7433 TALLOC_CTX *_mem_save_ntds_dn_0;
7434 if (ndr_flags & NDR_SCALARS) {
7435 NDR_CHECK(ndr_pull_align(ndr, 5));
7436 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7437 if (_ptr_netbios_name) {
7438 NDR_PULL_ALLOC(ndr, r->netbios_name);
7439 } else {
7440 r->netbios_name = NULL;
7442 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7443 if (_ptr_dns_name) {
7444 NDR_PULL_ALLOC(ndr, r->dns_name);
7445 } else {
7446 r->dns_name = NULL;
7448 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7449 if (_ptr_site_name) {
7450 NDR_PULL_ALLOC(ndr, r->site_name);
7451 } else {
7452 r->site_name = NULL;
7454 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7455 if (_ptr_site_dn) {
7456 NDR_PULL_ALLOC(ndr, r->site_dn);
7457 } else {
7458 r->site_dn = NULL;
7460 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7461 if (_ptr_computer_dn) {
7462 NDR_PULL_ALLOC(ndr, r->computer_dn);
7463 } else {
7464 r->computer_dn = NULL;
7466 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7467 if (_ptr_server_dn) {
7468 NDR_PULL_ALLOC(ndr, r->server_dn);
7469 } else {
7470 r->server_dn = NULL;
7472 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7473 if (_ptr_ntds_dn) {
7474 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7475 } else {
7476 r->ntds_dn = NULL;
7478 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7479 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7480 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7481 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7482 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7483 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7484 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7485 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7487 if (ndr_flags & NDR_BUFFERS) {
7488 if (r->netbios_name) {
7489 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7490 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7491 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7492 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7493 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7494 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7496 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7497 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7500 if (r->dns_name) {
7501 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7502 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7503 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7504 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7505 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7506 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7508 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7509 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7510 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7512 if (r->site_name) {
7513 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7514 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7515 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7516 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7517 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7518 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name));
7520 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7521 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7524 if (r->site_dn) {
7525 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7526 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7527 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7528 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7529 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7530 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_dn), ndr_get_array_length(ndr, &r->site_dn));
7532 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7533 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7534 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7536 if (r->computer_dn) {
7537 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7538 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7539 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7540 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7541 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7542 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn));
7544 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7545 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7546 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7548 if (r->server_dn) {
7549 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7550 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7551 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7552 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7553 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7554 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
7556 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7557 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7560 if (r->ntds_dn) {
7561 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7562 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7563 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7564 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7565 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7566 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->ntds_dn), ndr_get_array_length(ndr, &r->ntds_dn));
7568 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7569 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7570 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7573 return NDR_ERR_SUCCESS;
7576 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7578 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7579 ndr->depth++;
7580 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7581 ndr->depth++;
7582 if (r->netbios_name) {
7583 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7585 ndr->depth--;
7586 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7587 ndr->depth++;
7588 if (r->dns_name) {
7589 ndr_print_string(ndr, "dns_name", r->dns_name);
7591 ndr->depth--;
7592 ndr_print_ptr(ndr, "site_name", r->site_name);
7593 ndr->depth++;
7594 if (r->site_name) {
7595 ndr_print_string(ndr, "site_name", r->site_name);
7597 ndr->depth--;
7598 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7599 ndr->depth++;
7600 if (r->site_dn) {
7601 ndr_print_string(ndr, "site_dn", r->site_dn);
7603 ndr->depth--;
7604 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7605 ndr->depth++;
7606 if (r->computer_dn) {
7607 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7609 ndr->depth--;
7610 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7611 ndr->depth++;
7612 if (r->server_dn) {
7613 ndr_print_string(ndr, "server_dn", r->server_dn);
7615 ndr->depth--;
7616 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7617 ndr->depth++;
7618 if (r->ntds_dn) {
7619 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7621 ndr->depth--;
7622 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7623 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7624 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7625 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7626 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7627 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7628 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7629 ndr->depth--;
7632 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7634 uint32_t cntr_array_1;
7635 if (ndr_flags & NDR_SCALARS) {
7636 NDR_CHECK(ndr_push_align(ndr, 5));
7637 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7638 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7639 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7641 if (ndr_flags & NDR_BUFFERS) {
7642 if (r->array) {
7643 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7644 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7645 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7647 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7648 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7652 return NDR_ERR_SUCCESS;
7655 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7657 uint32_t _ptr_array;
7658 uint32_t cntr_array_1;
7659 TALLOC_CTX *_mem_save_array_0;
7660 TALLOC_CTX *_mem_save_array_1;
7661 if (ndr_flags & NDR_SCALARS) {
7662 NDR_CHECK(ndr_pull_align(ndr, 5));
7663 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7664 if (r->count > 10000) {
7665 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7667 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7668 if (_ptr_array) {
7669 NDR_PULL_ALLOC(ndr, r->array);
7670 } else {
7671 r->array = NULL;
7673 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7675 if (ndr_flags & NDR_BUFFERS) {
7676 if (r->array) {
7677 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7678 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7679 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7680 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7681 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7682 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7683 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7684 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7686 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7687 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7692 if (r->array) {
7693 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7696 return NDR_ERR_SUCCESS;
7699 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7701 uint32_t cntr_array_1;
7702 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7703 ndr->depth++;
7704 ndr_print_uint32(ndr, "count", r->count);
7705 ndr_print_ptr(ndr, "array", r->array);
7706 ndr->depth++;
7707 if (r->array) {
7708 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7709 ndr->depth++;
7710 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7711 char *idx_1=NULL;
7712 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7713 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7714 free(idx_1);
7717 ndr->depth--;
7719 ndr->depth--;
7720 ndr->depth--;
7723 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7725 if (ndr_flags & NDR_SCALARS) {
7726 NDR_CHECK(ndr_push_align(ndr, 5));
7727 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7728 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7729 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7730 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7731 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7732 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7733 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7734 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7735 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7736 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7738 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7739 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7740 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7741 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7742 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7744 if (ndr_flags & NDR_BUFFERS) {
7745 if (r->netbios_name) {
7746 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7747 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7748 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7749 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7751 if (r->dns_name) {
7752 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7753 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7754 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7755 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7757 if (r->site_name) {
7758 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7759 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7760 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7761 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7763 if (r->site_dn) {
7764 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7765 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7766 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7767 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7769 if (r->computer_dn) {
7770 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7771 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7772 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7773 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7775 if (r->server_dn) {
7776 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7777 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7778 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7779 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7781 if (r->ntds_dn) {
7782 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7783 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7784 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7785 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7788 return NDR_ERR_SUCCESS;
7791 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
7793 uint32_t _ptr_netbios_name;
7794 TALLOC_CTX *_mem_save_netbios_name_0;
7795 uint32_t _ptr_dns_name;
7796 TALLOC_CTX *_mem_save_dns_name_0;
7797 uint32_t _ptr_site_name;
7798 TALLOC_CTX *_mem_save_site_name_0;
7799 uint32_t _ptr_site_dn;
7800 TALLOC_CTX *_mem_save_site_dn_0;
7801 uint32_t _ptr_computer_dn;
7802 TALLOC_CTX *_mem_save_computer_dn_0;
7803 uint32_t _ptr_server_dn;
7804 TALLOC_CTX *_mem_save_server_dn_0;
7805 uint32_t _ptr_ntds_dn;
7806 TALLOC_CTX *_mem_save_ntds_dn_0;
7807 if (ndr_flags & NDR_SCALARS) {
7808 NDR_CHECK(ndr_pull_align(ndr, 5));
7809 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7810 if (_ptr_netbios_name) {
7811 NDR_PULL_ALLOC(ndr, r->netbios_name);
7812 } else {
7813 r->netbios_name = NULL;
7815 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7816 if (_ptr_dns_name) {
7817 NDR_PULL_ALLOC(ndr, r->dns_name);
7818 } else {
7819 r->dns_name = NULL;
7821 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7822 if (_ptr_site_name) {
7823 NDR_PULL_ALLOC(ndr, r->site_name);
7824 } else {
7825 r->site_name = NULL;
7827 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7828 if (_ptr_site_dn) {
7829 NDR_PULL_ALLOC(ndr, r->site_dn);
7830 } else {
7831 r->site_dn = NULL;
7833 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7834 if (_ptr_computer_dn) {
7835 NDR_PULL_ALLOC(ndr, r->computer_dn);
7836 } else {
7837 r->computer_dn = NULL;
7839 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7840 if (_ptr_server_dn) {
7841 NDR_PULL_ALLOC(ndr, r->server_dn);
7842 } else {
7843 r->server_dn = NULL;
7845 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7846 if (_ptr_ntds_dn) {
7847 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7848 } else {
7849 r->ntds_dn = NULL;
7851 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7852 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7853 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7854 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
7855 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7856 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7857 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7858 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7859 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7861 if (ndr_flags & NDR_BUFFERS) {
7862 if (r->netbios_name) {
7863 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7864 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7865 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7866 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7867 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7868 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7870 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7871 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7874 if (r->dns_name) {
7875 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7876 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7877 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7878 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7879 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7880 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7882 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7883 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7884 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7886 if (r->site_name) {
7887 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7888 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7889 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7890 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7891 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7892 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name));
7894 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7895 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7896 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7898 if (r->site_dn) {
7899 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7900 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7901 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7902 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7903 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7904 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_dn), ndr_get_array_length(ndr, &r->site_dn));
7906 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7907 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7908 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7910 if (r->computer_dn) {
7911 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7912 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7913 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7914 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7915 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7916 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn));
7918 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7919 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7920 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7922 if (r->server_dn) {
7923 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7924 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7925 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7926 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7927 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7928 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
7930 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7931 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7932 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7934 if (r->ntds_dn) {
7935 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7936 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7937 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7938 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7939 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7940 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->ntds_dn), ndr_get_array_length(ndr, &r->ntds_dn));
7942 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7943 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7944 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7947 return NDR_ERR_SUCCESS;
7950 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7952 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7953 ndr->depth++;
7954 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7955 ndr->depth++;
7956 if (r->netbios_name) {
7957 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7959 ndr->depth--;
7960 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7961 ndr->depth++;
7962 if (r->dns_name) {
7963 ndr_print_string(ndr, "dns_name", r->dns_name);
7965 ndr->depth--;
7966 ndr_print_ptr(ndr, "site_name", r->site_name);
7967 ndr->depth++;
7968 if (r->site_name) {
7969 ndr_print_string(ndr, "site_name", r->site_name);
7971 ndr->depth--;
7972 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7973 ndr->depth++;
7974 if (r->site_dn) {
7975 ndr_print_string(ndr, "site_dn", r->site_dn);
7977 ndr->depth--;
7978 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7979 ndr->depth++;
7980 if (r->computer_dn) {
7981 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7983 ndr->depth--;
7984 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7985 ndr->depth++;
7986 if (r->server_dn) {
7987 ndr_print_string(ndr, "server_dn", r->server_dn);
7989 ndr->depth--;
7990 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7991 ndr->depth++;
7992 if (r->ntds_dn) {
7993 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7995 ndr->depth--;
7996 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7997 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7998 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7999 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
8000 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
8001 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
8002 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
8003 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
8004 ndr->depth--;
8007 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
8009 uint32_t cntr_array_1;
8010 if (ndr_flags & NDR_SCALARS) {
8011 NDR_CHECK(ndr_push_align(ndr, 5));
8012 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8013 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8014 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8016 if (ndr_flags & NDR_BUFFERS) {
8017 if (r->array) {
8018 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8019 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8020 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8022 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8023 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8027 return NDR_ERR_SUCCESS;
8030 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
8032 uint32_t _ptr_array;
8033 uint32_t cntr_array_1;
8034 TALLOC_CTX *_mem_save_array_0;
8035 TALLOC_CTX *_mem_save_array_1;
8036 if (ndr_flags & NDR_SCALARS) {
8037 NDR_CHECK(ndr_pull_align(ndr, 5));
8038 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8039 if (r->count > 10000) {
8040 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8042 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8043 if (_ptr_array) {
8044 NDR_PULL_ALLOC(ndr, r->array);
8045 } else {
8046 r->array = NULL;
8048 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8050 if (ndr_flags & NDR_BUFFERS) {
8051 if (r->array) {
8052 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8053 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8054 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8055 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8056 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8057 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8058 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8059 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8061 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8062 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8064 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8065 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8067 if (r->array) {
8068 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8071 return NDR_ERR_SUCCESS;
8074 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
8076 uint32_t cntr_array_1;
8077 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
8078 ndr->depth++;
8079 ndr_print_uint32(ndr, "count", r->count);
8080 ndr_print_ptr(ndr, "array", r->array);
8081 ndr->depth++;
8082 if (r->array) {
8083 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8084 ndr->depth++;
8085 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8086 char *idx_1=NULL;
8087 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8088 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
8089 free(idx_1);
8092 ndr->depth--;
8094 ndr->depth--;
8095 ndr->depth--;
8098 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
8100 if (ndr_flags & NDR_SCALARS) {
8101 NDR_CHECK(ndr_push_align(ndr, 5));
8103 uint32_t _flags_save_ipv4address = ndr->flags;
8104 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8105 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
8106 ndr->flags = _flags_save_ipv4address;
8108 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8109 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
8110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
8111 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
8112 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
8113 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
8114 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8116 if (ndr_flags & NDR_BUFFERS) {
8117 if (r->client_account) {
8118 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8119 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8120 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8121 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8124 return NDR_ERR_SUCCESS;
8127 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
8129 uint32_t _ptr_client_account;
8130 TALLOC_CTX *_mem_save_client_account_0;
8131 if (ndr_flags & NDR_SCALARS) {
8132 NDR_CHECK(ndr_pull_align(ndr, 5));
8134 uint32_t _flags_save_ipv4address = ndr->flags;
8135 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8136 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
8137 ndr->flags = _flags_save_ipv4address;
8139 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8140 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
8141 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
8142 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
8143 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
8144 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
8145 if (_ptr_client_account) {
8146 NDR_PULL_ALLOC(ndr, r->client_account);
8147 } else {
8148 r->client_account = NULL;
8150 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8152 if (ndr_flags & NDR_BUFFERS) {
8153 if (r->client_account) {
8154 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
8155 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
8156 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
8157 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
8158 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
8159 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_account), ndr_get_array_length(ndr, &r->client_account));
8161 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
8162 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
8163 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
8166 return NDR_ERR_SUCCESS;
8169 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
8171 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8172 ndr->depth++;
8173 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8174 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8175 ndr_print_uint32(ndr, "connection_time", r->connection_time);
8176 ndr_print_uint32(ndr, "unknown4", r->unknown4);
8177 ndr_print_uint32(ndr, "unknown5", r->unknown5);
8178 ndr_print_uint32(ndr, "unknown6", r->unknown6);
8179 ndr_print_ptr(ndr, "client_account", r->client_account);
8180 ndr->depth++;
8181 if (r->client_account) {
8182 ndr_print_string(ndr, "client_account", r->client_account);
8184 ndr->depth--;
8185 ndr->depth--;
8188 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8190 uint32_t cntr_array_1;
8191 if (ndr_flags & NDR_SCALARS) {
8192 NDR_CHECK(ndr_push_align(ndr, 5));
8193 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8194 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8195 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8197 if (ndr_flags & NDR_BUFFERS) {
8198 if (r->array) {
8199 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8200 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8201 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8203 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8204 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8208 return NDR_ERR_SUCCESS;
8211 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8213 uint32_t _ptr_array;
8214 uint32_t cntr_array_1;
8215 TALLOC_CTX *_mem_save_array_0;
8216 TALLOC_CTX *_mem_save_array_1;
8217 if (ndr_flags & NDR_SCALARS) {
8218 NDR_CHECK(ndr_pull_align(ndr, 5));
8219 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8220 if (r->count > 10000) {
8221 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8223 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8224 if (_ptr_array) {
8225 NDR_PULL_ALLOC(ndr, r->array);
8226 } else {
8227 r->array = NULL;
8229 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8231 if (ndr_flags & NDR_BUFFERS) {
8232 if (r->array) {
8233 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8234 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8235 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8236 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8237 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8238 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8239 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8240 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8242 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8243 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8245 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8246 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8248 if (r->array) {
8249 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8252 return NDR_ERR_SUCCESS;
8255 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8257 uint32_t cntr_array_1;
8258 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8259 ndr->depth++;
8260 ndr_print_uint32(ndr, "count", r->count);
8261 ndr_print_ptr(ndr, "array", r->array);
8262 ndr->depth++;
8263 if (r->array) {
8264 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8265 ndr->depth++;
8266 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8267 char *idx_1=NULL;
8268 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8269 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8270 free(idx_1);
8273 ndr->depth--;
8275 ndr->depth--;
8276 ndr->depth--;
8279 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8281 if (ndr_flags & NDR_SCALARS) {
8282 int level = ndr_push_get_switch_value(ndr, r);
8283 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8284 NDR_CHECK(ndr_push_union_align(ndr, 5));
8285 switch (level) {
8286 case DRSUAPI_DC_INFO_CTR_1: {
8287 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8288 break; }
8290 case DRSUAPI_DC_INFO_CTR_2: {
8291 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8292 break; }
8294 case DRSUAPI_DC_INFO_CTR_3: {
8295 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8296 break; }
8298 case DRSUAPI_DC_CONNECTION_CTR_01: {
8299 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8300 break; }
8302 default:
8303 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8306 if (ndr_flags & NDR_BUFFERS) {
8307 int level = ndr_push_get_switch_value(ndr, r);
8308 switch (level) {
8309 case DRSUAPI_DC_INFO_CTR_1:
8310 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8311 break;
8313 case DRSUAPI_DC_INFO_CTR_2:
8314 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8315 break;
8317 case DRSUAPI_DC_INFO_CTR_3:
8318 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8319 break;
8321 case DRSUAPI_DC_CONNECTION_CTR_01:
8322 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8323 break;
8325 default:
8326 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8329 return NDR_ERR_SUCCESS;
8332 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8334 int level;
8335 int32_t _level;
8336 level = ndr_pull_get_switch_value(ndr, r);
8337 if (ndr_flags & NDR_SCALARS) {
8338 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8339 if (_level != level) {
8340 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8342 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8343 switch (level) {
8344 case DRSUAPI_DC_INFO_CTR_1: {
8345 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8346 break; }
8348 case DRSUAPI_DC_INFO_CTR_2: {
8349 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8350 break; }
8352 case DRSUAPI_DC_INFO_CTR_3: {
8353 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8354 break; }
8356 case DRSUAPI_DC_CONNECTION_CTR_01: {
8357 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8358 break; }
8360 default:
8361 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8364 if (ndr_flags & NDR_BUFFERS) {
8365 switch (level) {
8366 case DRSUAPI_DC_INFO_CTR_1:
8367 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8368 break;
8370 case DRSUAPI_DC_INFO_CTR_2:
8371 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8372 break;
8374 case DRSUAPI_DC_INFO_CTR_3:
8375 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8376 break;
8378 case DRSUAPI_DC_CONNECTION_CTR_01:
8379 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8380 break;
8382 default:
8383 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8386 return NDR_ERR_SUCCESS;
8389 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
8391 int level;
8392 level = ndr_print_get_switch_value(ndr, r);
8393 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
8394 switch (level) {
8395 case DRSUAPI_DC_INFO_CTR_1:
8396 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
8397 break;
8399 case DRSUAPI_DC_INFO_CTR_2:
8400 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
8401 break;
8403 case DRSUAPI_DC_INFO_CTR_3:
8404 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
8405 break;
8407 case DRSUAPI_DC_CONNECTION_CTR_01:
8408 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
8409 break;
8411 default:
8412 ndr_print_bad_level(ndr, name, level);
8416 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
8418 if (ndr_flags & NDR_SCALARS) {
8419 NDR_CHECK(ndr_push_align(ndr, 5));
8420 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
8421 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8422 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8424 if (ndr_flags & NDR_BUFFERS) {
8425 if (r->next_object) {
8426 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8428 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8430 return NDR_ERR_SUCCESS;
8433 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8435 uint32_t _ptr_next_object;
8436 TALLOC_CTX *_mem_save_next_object_0;
8437 if (ndr_flags & NDR_SCALARS) {
8438 NDR_CHECK(ndr_pull_align(ndr, 5));
8439 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8440 if (_ptr_next_object) {
8441 NDR_PULL_ALLOC(ndr, r->next_object);
8442 } else {
8443 r->next_object = NULL;
8445 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8446 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8448 if (ndr_flags & NDR_BUFFERS) {
8449 if (r->next_object) {
8450 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8451 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8452 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8453 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8455 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8457 return NDR_ERR_SUCCESS;
8460 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8462 if (ndr_flags & NDR_SCALARS) {
8463 NDR_CHECK(ndr_push_align(ndr, 5));
8464 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8465 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8467 if (ndr_flags & NDR_BUFFERS) {
8468 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8470 return NDR_ERR_SUCCESS;
8473 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8475 if (ndr_flags & NDR_SCALARS) {
8476 NDR_CHECK(ndr_pull_align(ndr, 5));
8477 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8478 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8480 if (ndr_flags & NDR_BUFFERS) {
8481 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8483 return NDR_ERR_SUCCESS;
8486 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8488 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8489 ndr->depth++;
8490 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8491 ndr->depth--;
8494 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
8496 if (ndr_flags & NDR_SCALARS) {
8497 int level = ndr_push_get_switch_value(ndr, r);
8498 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8499 NDR_CHECK(ndr_push_union_align(ndr, 5));
8500 switch (level) {
8501 case 2: {
8502 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8503 break; }
8505 default:
8506 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8509 if (ndr_flags & NDR_BUFFERS) {
8510 int level = ndr_push_get_switch_value(ndr, r);
8511 switch (level) {
8512 case 2:
8513 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8514 break;
8516 default:
8517 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8520 return NDR_ERR_SUCCESS;
8523 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
8525 int level;
8526 int32_t _level;
8527 level = ndr_pull_get_switch_value(ndr, r);
8528 if (ndr_flags & NDR_SCALARS) {
8529 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8530 if (_level != level) {
8531 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8533 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8534 switch (level) {
8535 case 2: {
8536 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8537 break; }
8539 default:
8540 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8543 if (ndr_flags & NDR_BUFFERS) {
8544 switch (level) {
8545 case 2:
8546 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8547 break;
8549 default:
8550 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8553 return NDR_ERR_SUCCESS;
8556 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
8558 int level;
8559 level = ndr_print_get_switch_value(ndr, r);
8560 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
8561 switch (level) {
8562 case 2:
8563 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
8564 break;
8566 default:
8567 ndr_print_bad_level(ndr, name, level);
8571 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
8573 if (ndr_flags & NDR_SCALARS) {
8574 NDR_CHECK(ndr_push_align(ndr, 4));
8575 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8576 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8577 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8578 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
8579 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8581 if (ndr_flags & NDR_BUFFERS) {
8583 return NDR_ERR_SUCCESS;
8586 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
8588 if (ndr_flags & NDR_SCALARS) {
8589 NDR_CHECK(ndr_pull_align(ndr, 4));
8590 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8591 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8593 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
8594 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8596 if (ndr_flags & NDR_BUFFERS) {
8598 return NDR_ERR_SUCCESS;
8601 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
8603 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
8604 ndr->depth++;
8605 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8606 ndr_print_WERROR(ndr, "status", r->status);
8607 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8608 ndr_print_uint16(ndr, "unknown3", r->unknown3);
8609 ndr->depth--;
8612 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8614 if (ndr_flags & NDR_SCALARS) {
8615 NDR_CHECK(ndr_push_align(ndr, 5));
8616 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8617 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8618 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8620 if (ndr_flags & NDR_BUFFERS) {
8621 if (r->data) {
8622 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
8623 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
8626 return NDR_ERR_SUCCESS;
8629 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8631 uint32_t _ptr_data;
8632 TALLOC_CTX *_mem_save_data_0;
8633 if (ndr_flags & NDR_SCALARS) {
8634 NDR_CHECK(ndr_pull_align(ndr, 5));
8635 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8636 if (r->size > 10485760) {
8637 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8639 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8640 if (_ptr_data) {
8641 NDR_PULL_ALLOC(ndr, r->data);
8642 } else {
8643 r->data = NULL;
8645 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8647 if (ndr_flags & NDR_BUFFERS) {
8648 if (r->data) {
8649 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8650 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8651 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
8652 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
8653 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
8654 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8656 if (r->data) {
8657 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
8660 return NDR_ERR_SUCCESS;
8663 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8665 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
8666 ndr->depth++;
8667 ndr_print_uint32(ndr, "size", r->size);
8668 ndr_print_ptr(ndr, "data", r->data);
8669 ndr->depth++;
8670 if (r->data) {
8671 ndr_print_array_uint8(ndr, "data", r->data, r->size);
8673 ndr->depth--;
8674 ndr->depth--;
8677 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
8679 if (ndr_flags & NDR_SCALARS) {
8680 NDR_CHECK(ndr_push_align(ndr, 5));
8681 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8682 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
8683 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8684 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8685 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8687 if (ndr_flags & NDR_BUFFERS) {
8688 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8690 return NDR_ERR_SUCCESS;
8693 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
8695 if (ndr_flags & NDR_SCALARS) {
8696 NDR_CHECK(ndr_pull_align(ndr, 5));
8697 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8698 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
8699 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8700 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8701 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8703 if (ndr_flags & NDR_BUFFERS) {
8704 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8706 return NDR_ERR_SUCCESS;
8709 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
8711 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
8712 ndr->depth++;
8713 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8714 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
8715 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8716 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
8717 ndr->depth--;
8720 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8722 if (ndr_flags & NDR_SCALARS) {
8723 NDR_CHECK(ndr_push_align(ndr, 5));
8724 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
8725 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8726 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8728 if (ndr_flags & NDR_BUFFERS) {
8729 if (r->next) {
8730 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8732 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8734 return NDR_ERR_SUCCESS;
8737 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
8739 uint32_t _ptr_next;
8740 TALLOC_CTX *_mem_save_next_0;
8741 if (ndr_flags & NDR_SCALARS) {
8742 NDR_CHECK(ndr_pull_align(ndr, 5));
8743 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
8744 if (_ptr_next) {
8745 NDR_PULL_ALLOC(ndr, r->next);
8746 } else {
8747 r->next = NULL;
8749 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8750 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8752 if (ndr_flags & NDR_BUFFERS) {
8753 if (r->next) {
8754 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
8755 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
8756 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8757 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
8759 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8761 return NDR_ERR_SUCCESS;
8764 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8766 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
8767 ndr->depth++;
8768 ndr_print_ptr(ndr, "next", r->next);
8769 ndr->depth++;
8770 if (r->next) {
8771 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
8773 ndr->depth--;
8774 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
8775 ndr->depth--;
8778 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8780 if (ndr_flags & NDR_SCALARS) {
8781 NDR_CHECK(ndr_push_align(ndr, 5));
8782 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8783 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8784 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8785 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8787 if (ndr_flags & NDR_BUFFERS) {
8788 if (r->id) {
8789 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8791 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8793 return NDR_ERR_SUCCESS;
8796 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
8798 uint32_t _ptr_id;
8799 TALLOC_CTX *_mem_save_id_0;
8800 if (ndr_flags & NDR_SCALARS) {
8801 NDR_CHECK(ndr_pull_align(ndr, 5));
8802 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8803 if (_ptr_id) {
8804 NDR_PULL_ALLOC(ndr, r->id);
8805 } else {
8806 r->id = NULL;
8808 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8809 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8810 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8812 if (ndr_flags & NDR_BUFFERS) {
8813 if (r->id) {
8814 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8815 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8816 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8819 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8821 return NDR_ERR_SUCCESS;
8824 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8826 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
8827 ndr->depth++;
8828 ndr_print_ptr(ndr, "id", r->id);
8829 ndr->depth++;
8830 if (r->id) {
8831 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8833 ndr->depth--;
8834 ndr_print_WERROR(ndr, "status", r->status);
8835 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
8836 ndr->depth--;
8839 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
8841 if (ndr_flags & NDR_SCALARS) {
8842 int level = ndr_push_get_switch_value(ndr, r);
8843 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8844 NDR_CHECK(ndr_push_union_align(ndr, 5));
8845 switch (level) {
8846 case 1: {
8847 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8848 break; }
8850 case 4: {
8851 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8852 break; }
8854 case 5: {
8855 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8856 break; }
8858 case 6: {
8859 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8860 break; }
8862 case 7: {
8863 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8864 break; }
8866 default:
8867 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8870 if (ndr_flags & NDR_BUFFERS) {
8871 int level = ndr_push_get_switch_value(ndr, r);
8872 switch (level) {
8873 case 1:
8874 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8875 break;
8877 case 4:
8878 break;
8880 case 5:
8881 break;
8883 case 6:
8884 break;
8886 case 7:
8887 break;
8889 default:
8890 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8893 return NDR_ERR_SUCCESS;
8896 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
8898 int level;
8899 uint32_t _level;
8900 level = ndr_pull_get_switch_value(ndr, r);
8901 if (ndr_flags & NDR_SCALARS) {
8902 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8903 if (_level != level) {
8904 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8906 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8907 switch (level) {
8908 case 1: {
8909 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8910 break; }
8912 case 4: {
8913 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8914 break; }
8916 case 5: {
8917 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8918 break; }
8920 case 6: {
8921 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8922 break; }
8924 case 7: {
8925 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8926 break; }
8928 default:
8929 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8932 if (ndr_flags & NDR_BUFFERS) {
8933 switch (level) {
8934 case 1:
8935 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8936 break;
8938 case 4:
8939 break;
8941 case 5:
8942 break;
8944 case 6:
8945 break;
8947 case 7:
8948 break;
8950 default:
8951 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8954 return NDR_ERR_SUCCESS;
8957 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
8959 int level;
8960 level = ndr_print_get_switch_value(ndr, r);
8961 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
8962 switch (level) {
8963 case 1:
8964 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
8965 break;
8967 case 4:
8968 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8969 break;
8971 case 5:
8972 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8973 break;
8975 case 6:
8976 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8977 break;
8979 case 7:
8980 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8981 break;
8983 default:
8984 ndr_print_bad_level(ndr, name, level);
8988 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
8990 if (ndr_flags & NDR_SCALARS) {
8991 NDR_CHECK(ndr_push_align(ndr, 5));
8992 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8993 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8994 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8995 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8997 if (ndr_flags & NDR_BUFFERS) {
8998 if (r->info) {
8999 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
9000 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
9003 return NDR_ERR_SUCCESS;
9006 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
9008 uint32_t _ptr_info;
9009 TALLOC_CTX *_mem_save_info_0;
9010 if (ndr_flags & NDR_SCALARS) {
9011 NDR_CHECK(ndr_pull_align(ndr, 5));
9012 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
9013 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9014 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9015 if (_ptr_info) {
9016 NDR_PULL_ALLOC(ndr, r->info);
9017 } else {
9018 r->info = NULL;
9020 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9022 if (ndr_flags & NDR_BUFFERS) {
9023 if (r->info) {
9024 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9025 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
9026 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
9027 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
9028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
9031 return NDR_ERR_SUCCESS;
9034 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
9036 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
9037 ndr->depth++;
9038 ndr_print_WERROR(ndr, "status", r->status);
9039 ndr_print_uint32(ndr, "level", r->level);
9040 ndr_print_ptr(ndr, "info", r->info);
9041 ndr->depth++;
9042 if (r->info) {
9043 ndr_print_set_switch_value(ndr, r->info, r->level);
9044 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
9046 ndr->depth--;
9047 ndr->depth--;
9050 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
9052 if (ndr_flags & NDR_SCALARS) {
9053 int level = ndr_push_get_switch_value(ndr, r);
9054 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9055 NDR_CHECK(ndr_push_union_align(ndr, 5));
9056 switch (level) {
9057 case 1: {
9058 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
9059 break; }
9061 default:
9062 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9065 if (ndr_flags & NDR_BUFFERS) {
9066 int level = ndr_push_get_switch_value(ndr, r);
9067 switch (level) {
9068 case 1:
9069 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
9070 break;
9072 default:
9073 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9076 return NDR_ERR_SUCCESS;
9079 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
9081 int level;
9082 uint32_t _level;
9083 level = ndr_pull_get_switch_value(ndr, r);
9084 if (ndr_flags & NDR_SCALARS) {
9085 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9086 if (_level != level) {
9087 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9089 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9090 switch (level) {
9091 case 1: {
9092 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
9093 break; }
9095 default:
9096 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9099 if (ndr_flags & NDR_BUFFERS) {
9100 switch (level) {
9101 case 1:
9102 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
9103 break;
9105 default:
9106 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9109 return NDR_ERR_SUCCESS;
9112 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
9114 int level;
9115 level = ndr_print_get_switch_value(ndr, r);
9116 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
9117 switch (level) {
9118 case 1:
9119 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
9120 break;
9122 default:
9123 ndr_print_bad_level(ndr, name, level);
9127 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9129 if (ndr_flags & NDR_SCALARS) {
9130 NDR_CHECK(ndr_push_align(ndr, 4));
9131 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
9132 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9133 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9135 if (ndr_flags & NDR_BUFFERS) {
9136 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9138 return NDR_ERR_SUCCESS;
9141 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
9143 if (ndr_flags & NDR_SCALARS) {
9144 NDR_CHECK(ndr_pull_align(ndr, 4));
9145 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
9146 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9147 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9149 if (ndr_flags & NDR_BUFFERS) {
9150 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9152 return NDR_ERR_SUCCESS;
9155 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9157 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
9158 ndr->depth++;
9159 ndr_print_GUID(ndr, "guid", &r->guid);
9160 ndr_print_dom_sid28(ndr, "sid", &r->sid);
9161 ndr->depth--;
9164 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
9166 uint32_t cntr_objects_1;
9167 if (ndr_flags & NDR_SCALARS) {
9168 NDR_CHECK(ndr_push_align(ndr, 5));
9169 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9170 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9171 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9173 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9174 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9176 if (ndr_flags & NDR_BUFFERS) {
9177 if (r->id) {
9178 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9180 if (r->objects) {
9181 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9182 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9183 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9185 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9186 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9190 return NDR_ERR_SUCCESS;
9193 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
9195 uint32_t _ptr_id;
9196 TALLOC_CTX *_mem_save_id_0;
9197 uint32_t _ptr_objects;
9198 uint32_t cntr_objects_1;
9199 TALLOC_CTX *_mem_save_objects_0;
9200 TALLOC_CTX *_mem_save_objects_1;
9201 if (ndr_flags & NDR_SCALARS) {
9202 NDR_CHECK(ndr_pull_align(ndr, 5));
9203 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9204 if (_ptr_id) {
9205 NDR_PULL_ALLOC(ndr, r->id);
9206 } else {
9207 r->id = NULL;
9209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9210 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9211 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9212 if (r->count > 10000) {
9213 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9215 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9216 if (_ptr_objects) {
9217 NDR_PULL_ALLOC(ndr, r->objects);
9218 } else {
9219 r->objects = NULL;
9221 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9223 if (ndr_flags & NDR_BUFFERS) {
9224 if (r->id) {
9225 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9226 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9227 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9228 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9230 if (r->objects) {
9231 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9232 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9233 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9234 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9235 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9236 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9237 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9238 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9240 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9241 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9244 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9246 if (r->objects) {
9247 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9250 return NDR_ERR_SUCCESS;
9253 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
9255 uint32_t cntr_objects_1;
9256 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
9257 ndr->depth++;
9258 ndr_print_ptr(ndr, "id", r->id);
9259 ndr->depth++;
9260 if (r->id) {
9261 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9263 ndr->depth--;
9264 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9265 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
9266 ndr_print_uint32(ndr, "count", r->count);
9267 ndr_print_ptr(ndr, "objects", r->objects);
9268 ndr->depth++;
9269 if (r->objects) {
9270 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9271 ndr->depth++;
9272 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9273 char *idx_1=NULL;
9274 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9275 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9276 free(idx_1);
9279 ndr->depth--;
9281 ndr->depth--;
9282 ndr->depth--;
9285 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
9287 uint32_t cntr_objects_1;
9288 if (ndr_flags & NDR_SCALARS) {
9289 NDR_CHECK(ndr_push_align(ndr, 5));
9290 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9291 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
9292 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
9293 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9294 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9295 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9297 if (ndr_flags & NDR_BUFFERS) {
9298 if (r->id) {
9299 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9301 if (r->error) {
9302 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
9303 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9305 if (r->objects) {
9306 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9307 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9308 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9310 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9311 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9315 return NDR_ERR_SUCCESS;
9318 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
9320 uint32_t _ptr_id;
9321 TALLOC_CTX *_mem_save_id_0;
9322 uint32_t _ptr_error;
9323 TALLOC_CTX *_mem_save_error_0;
9324 uint32_t _ptr_objects;
9325 uint32_t cntr_objects_1;
9326 TALLOC_CTX *_mem_save_objects_0;
9327 TALLOC_CTX *_mem_save_objects_1;
9328 if (ndr_flags & NDR_SCALARS) {
9329 NDR_CHECK(ndr_pull_align(ndr, 5));
9330 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9331 if (_ptr_id) {
9332 NDR_PULL_ALLOC(ndr, r->id);
9333 } else {
9334 r->id = NULL;
9336 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9337 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
9338 if (_ptr_error) {
9339 NDR_PULL_ALLOC(ndr, r->error);
9340 } else {
9341 r->error = NULL;
9343 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9344 if (r->count > 10000) {
9345 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9347 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9348 if (_ptr_objects) {
9349 NDR_PULL_ALLOC(ndr, r->objects);
9350 } else {
9351 r->objects = NULL;
9353 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9355 if (ndr_flags & NDR_BUFFERS) {
9356 if (r->id) {
9357 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9358 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9359 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9360 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9362 if (r->error) {
9363 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
9364 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
9365 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
9366 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9367 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
9369 if (r->objects) {
9370 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9371 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9372 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9373 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9374 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9375 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9376 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9377 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9379 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9380 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9382 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9385 if (r->objects) {
9386 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9389 return NDR_ERR_SUCCESS;
9392 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
9394 uint32_t cntr_objects_1;
9395 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
9396 ndr->depth++;
9397 ndr_print_ptr(ndr, "id", r->id);
9398 ndr->depth++;
9399 if (r->id) {
9400 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9402 ndr->depth--;
9403 ndr_print_uint32(ndr, "level", r->level);
9404 ndr_print_ptr(ndr, "error", r->error);
9405 ndr->depth++;
9406 if (r->error) {
9407 ndr_print_set_switch_value(ndr, r->error, r->level);
9408 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
9410 ndr->depth--;
9411 ndr_print_uint32(ndr, "count", r->count);
9412 ndr_print_ptr(ndr, "objects", r->objects);
9413 ndr->depth++;
9414 if (r->objects) {
9415 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9416 ndr->depth++;
9417 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9418 char *idx_1=NULL;
9419 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9420 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9421 free(idx_1);
9424 ndr->depth--;
9426 ndr->depth--;
9427 ndr->depth--;
9430 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
9432 if (ndr_flags & NDR_SCALARS) {
9433 int level = ndr_push_get_switch_value(ndr, r);
9434 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
9435 NDR_CHECK(ndr_push_union_align(ndr, 5));
9436 switch (level) {
9437 case 2: {
9438 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9439 break; }
9441 case 3: {
9442 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9443 break; }
9445 default:
9446 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9449 if (ndr_flags & NDR_BUFFERS) {
9450 int level = ndr_push_get_switch_value(ndr, r);
9451 switch (level) {
9452 case 2:
9453 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9454 break;
9456 case 3:
9457 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9458 break;
9460 default:
9461 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9464 return NDR_ERR_SUCCESS;
9467 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
9469 int level;
9470 int32_t _level;
9471 level = ndr_pull_get_switch_value(ndr, r);
9472 if (ndr_flags & NDR_SCALARS) {
9473 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
9474 if (_level != level) {
9475 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9477 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9478 switch (level) {
9479 case 2: {
9480 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9481 break; }
9483 case 3: {
9484 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9485 break; }
9487 default:
9488 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9491 if (ndr_flags & NDR_BUFFERS) {
9492 switch (level) {
9493 case 2:
9494 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9495 break;
9497 case 3:
9498 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9499 break;
9501 default:
9502 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9505 return NDR_ERR_SUCCESS;
9508 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
9510 int level;
9511 level = ndr_print_get_switch_value(ndr, r);
9512 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
9513 switch (level) {
9514 case 2:
9515 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
9516 break;
9518 case 3:
9519 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
9520 break;
9522 default:
9523 ndr_print_bad_level(ndr, name, level);
9527 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9530 return NDR_ERR_SUCCESS;
9533 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9535 uint32_t v;
9536 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9537 *r = v;
9538 return NDR_ERR_SUCCESS;
9541 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
9543 ndr_print_uint32(ndr, name, r);
9544 ndr->depth++;
9545 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
9546 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
9547 ndr->depth--;
9550 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
9552 if (ndr_flags & NDR_SCALARS) {
9553 NDR_CHECK(ndr_push_align(ndr, 4));
9554 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
9555 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
9556 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9558 if (ndr_flags & NDR_BUFFERS) {
9560 return NDR_ERR_SUCCESS;
9563 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
9565 if (ndr_flags & NDR_SCALARS) {
9566 NDR_CHECK(ndr_pull_align(ndr, 4));
9567 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
9568 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
9569 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9571 if (ndr_flags & NDR_BUFFERS) {
9573 return NDR_ERR_SUCCESS;
9576 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
9578 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
9579 ndr->depth++;
9580 ndr_print_uint32(ndr, "taskID", r->taskID);
9581 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
9582 ndr->depth--;
9585 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
9587 if (ndr_flags & NDR_SCALARS) {
9588 int level = ndr_push_get_switch_value(ndr, r);
9589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9590 NDR_CHECK(ndr_push_union_align(ndr, 4));
9591 switch (level) {
9592 case 1: {
9593 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9594 break; }
9596 default:
9597 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9600 if (ndr_flags & NDR_BUFFERS) {
9601 int level = ndr_push_get_switch_value(ndr, r);
9602 switch (level) {
9603 case 1:
9604 break;
9606 default:
9607 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9610 return NDR_ERR_SUCCESS;
9613 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
9615 int level;
9616 uint32_t _level;
9617 level = ndr_pull_get_switch_value(ndr, r);
9618 if (ndr_flags & NDR_SCALARS) {
9619 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9620 if (_level != level) {
9621 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9623 NDR_CHECK(ndr_pull_union_align(ndr, 4));
9624 switch (level) {
9625 case 1: {
9626 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9627 break; }
9629 default:
9630 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9633 if (ndr_flags & NDR_BUFFERS) {
9634 switch (level) {
9635 case 1:
9636 break;
9638 default:
9639 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9642 return NDR_ERR_SUCCESS;
9645 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
9647 int level;
9648 level = ndr_print_get_switch_value(ndr, r);
9649 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
9650 switch (level) {
9651 case 1:
9652 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
9653 break;
9655 default:
9656 ndr_print_bad_level(ndr, name, level);
9660 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
9662 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9663 return NDR_ERR_SUCCESS;
9666 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
9668 uint32_t v;
9669 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9670 *r = v;
9671 return NDR_ERR_SUCCESS;
9674 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
9676 const char *val = NULL;
9678 switch (r) {
9679 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9680 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9682 ndr_print_enum(ndr, name, "ENUM", val, r);
9685 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
9687 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9688 return NDR_ERR_SUCCESS;
9691 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
9693 uint32_t v;
9694 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9695 *r = v;
9696 return NDR_ERR_SUCCESS;
9699 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
9701 const char *val = NULL;
9703 switch (r) {
9704 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9705 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9706 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9707 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9708 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9709 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9710 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9711 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9712 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9713 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9714 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9715 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
9716 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: val = "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
9717 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
9718 case DRSUAPI_DS_REPLICA_INFO_06: val = "DRSUAPI_DS_REPLICA_INFO_06"; break;
9720 ndr_print_enum(ndr, name, "ENUM", val, r);
9723 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9725 if (ndr_flags & NDR_SCALARS) {
9726 NDR_CHECK(ndr_push_align(ndr, 5));
9727 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9728 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9729 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9730 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9732 if (ndr_flags & NDR_BUFFERS) {
9733 if (r->object_dn) {
9734 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9735 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9736 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9737 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9740 return NDR_ERR_SUCCESS;
9743 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
9745 uint32_t _ptr_object_dn;
9746 TALLOC_CTX *_mem_save_object_dn_0;
9747 if (ndr_flags & NDR_SCALARS) {
9748 NDR_CHECK(ndr_pull_align(ndr, 5));
9749 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9750 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9751 if (_ptr_object_dn) {
9752 NDR_PULL_ALLOC(ndr, r->object_dn);
9753 } else {
9754 r->object_dn = NULL;
9756 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9757 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9759 if (ndr_flags & NDR_BUFFERS) {
9760 if (r->object_dn) {
9761 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9762 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9763 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9764 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9765 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9766 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
9768 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9769 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9770 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9773 return NDR_ERR_SUCCESS;
9776 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9778 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
9779 ndr->depth++;
9780 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9781 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9782 ndr->depth++;
9783 if (r->object_dn) {
9784 ndr_print_string(ndr, "object_dn", r->object_dn);
9786 ndr->depth--;
9787 ndr_print_GUID(ndr, "guid1", &r->guid1);
9788 ndr->depth--;
9791 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9793 if (ndr_flags & NDR_SCALARS) {
9794 NDR_CHECK(ndr_push_align(ndr, 5));
9795 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9796 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9797 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9799 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string1));
9800 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string2));
9801 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
9802 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9804 if (ndr_flags & NDR_BUFFERS) {
9805 if (r->object_dn) {
9806 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9807 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9808 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9809 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9811 if (r->string1) {
9812 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9813 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9814 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9815 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string1, ndr_charset_length(r->string1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9817 if (r->string2) {
9818 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9819 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9820 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9821 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string2, ndr_charset_length(r->string2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9824 return NDR_ERR_SUCCESS;
9827 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
9829 uint32_t _ptr_object_dn;
9830 TALLOC_CTX *_mem_save_object_dn_0;
9831 uint32_t _ptr_string1;
9832 TALLOC_CTX *_mem_save_string1_0;
9833 uint32_t _ptr_string2;
9834 TALLOC_CTX *_mem_save_string2_0;
9835 if (ndr_flags & NDR_SCALARS) {
9836 NDR_CHECK(ndr_pull_align(ndr, 5));
9837 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9838 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9839 if (_ptr_object_dn) {
9840 NDR_PULL_ALLOC(ndr, r->object_dn);
9841 } else {
9842 r->object_dn = NULL;
9844 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9845 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9846 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string1));
9847 if (_ptr_string1) {
9848 NDR_PULL_ALLOC(ndr, r->string1);
9849 } else {
9850 r->string1 = NULL;
9852 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string2));
9853 if (_ptr_string2) {
9854 NDR_PULL_ALLOC(ndr, r->string2);
9855 } else {
9856 r->string2 = NULL;
9858 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
9859 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9861 if (ndr_flags & NDR_BUFFERS) {
9862 if (r->object_dn) {
9863 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9864 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9865 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9866 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9867 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9868 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
9870 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9871 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9874 if (r->string1) {
9875 _mem_save_string1_0 = NDR_PULL_GET_MEM_CTX(ndr);
9876 NDR_PULL_SET_MEM_CTX(ndr, r->string1, 0);
9877 NDR_CHECK(ndr_pull_array_size(ndr, &r->string1));
9878 NDR_CHECK(ndr_pull_array_length(ndr, &r->string1));
9879 if (ndr_get_array_length(ndr, &r->string1) > ndr_get_array_size(ndr, &r->string1)) {
9880 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string1), ndr_get_array_length(ndr, &r->string1));
9882 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t)));
9883 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string1, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t), CH_UTF16));
9884 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string1_0, 0);
9886 if (r->string2) {
9887 _mem_save_string2_0 = NDR_PULL_GET_MEM_CTX(ndr);
9888 NDR_PULL_SET_MEM_CTX(ndr, r->string2, 0);
9889 NDR_CHECK(ndr_pull_array_size(ndr, &r->string2));
9890 NDR_CHECK(ndr_pull_array_length(ndr, &r->string2));
9891 if (ndr_get_array_length(ndr, &r->string2) > ndr_get_array_size(ndr, &r->string2)) {
9892 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string2), ndr_get_array_length(ndr, &r->string2));
9894 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t)));
9895 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string2, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t), CH_UTF16));
9896 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string2_0, 0);
9899 return NDR_ERR_SUCCESS;
9902 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9904 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
9905 ndr->depth++;
9906 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9907 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9908 ndr->depth++;
9909 if (r->object_dn) {
9910 ndr_print_string(ndr, "object_dn", r->object_dn);
9912 ndr->depth--;
9913 ndr_print_GUID(ndr, "guid1", &r->guid1);
9914 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9915 ndr_print_ptr(ndr, "string1", r->string1);
9916 ndr->depth++;
9917 if (r->string1) {
9918 ndr_print_string(ndr, "string1", r->string1);
9920 ndr->depth--;
9921 ndr_print_ptr(ndr, "string2", r->string2);
9922 ndr->depth++;
9923 if (r->string2) {
9924 ndr_print_string(ndr, "string2", r->string2);
9926 ndr->depth--;
9927 ndr_print_uint32(ndr, "unknown2", r->unknown2);
9928 ndr->depth--;
9931 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
9933 if (ndr_flags & NDR_SCALARS) {
9934 int level = ndr_push_get_switch_value(ndr, r);
9935 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
9936 NDR_CHECK(ndr_push_union_align(ndr, 5));
9937 switch (level) {
9938 case DRSUAPI_DS_REPLICA_GET_INFO: {
9939 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9940 break; }
9942 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9943 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9944 break; }
9946 default:
9947 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9950 if (ndr_flags & NDR_BUFFERS) {
9951 int level = ndr_push_get_switch_value(ndr, r);
9952 switch (level) {
9953 case DRSUAPI_DS_REPLICA_GET_INFO:
9954 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9955 break;
9957 case DRSUAPI_DS_REPLICA_GET_INFO2:
9958 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9959 break;
9961 default:
9962 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9965 return NDR_ERR_SUCCESS;
9968 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
9970 int level;
9971 uint32_t _level;
9972 level = ndr_pull_get_switch_value(ndr, r);
9973 if (ndr_flags & NDR_SCALARS) {
9974 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9975 if (_level != level) {
9976 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9978 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9979 switch (level) {
9980 case DRSUAPI_DS_REPLICA_GET_INFO: {
9981 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9982 break; }
9984 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9985 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9986 break; }
9988 default:
9989 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9992 if (ndr_flags & NDR_BUFFERS) {
9993 switch (level) {
9994 case DRSUAPI_DS_REPLICA_GET_INFO:
9995 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9996 break;
9998 case DRSUAPI_DS_REPLICA_GET_INFO2:
9999 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
10000 break;
10002 default:
10003 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10006 return NDR_ERR_SUCCESS;
10009 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
10011 int level;
10012 level = ndr_print_get_switch_value(ndr, r);
10013 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
10014 switch (level) {
10015 case DRSUAPI_DS_REPLICA_GET_INFO:
10016 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
10017 break;
10019 case DRSUAPI_DS_REPLICA_GET_INFO2:
10020 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
10021 break;
10023 default:
10024 ndr_print_bad_level(ndr, name, level);
10028 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
10030 if (ndr_flags & NDR_SCALARS) {
10031 NDR_CHECK(ndr_push_align(ndr, 8));
10032 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
10033 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
10034 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
10035 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
10036 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
10037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10038 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
10039 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
10040 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10041 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
10042 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
10043 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
10044 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
10045 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
10046 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
10047 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
10048 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10050 if (ndr_flags & NDR_BUFFERS) {
10051 if (r->naming_context_dn) {
10052 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
10053 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10054 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
10055 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->naming_context_dn, ndr_charset_length(r->naming_context_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10057 if (r->source_dsa_obj_dn) {
10058 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10059 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10060 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10061 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_obj_dn, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10063 if (r->source_dsa_address) {
10064 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
10065 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10066 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
10067 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10069 if (r->transport_obj_dn) {
10070 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
10071 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10072 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
10073 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->transport_obj_dn, ndr_charset_length(r->transport_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10076 return NDR_ERR_SUCCESS;
10079 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
10081 uint32_t _ptr_naming_context_dn;
10082 TALLOC_CTX *_mem_save_naming_context_dn_0;
10083 uint32_t _ptr_source_dsa_obj_dn;
10084 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
10085 uint32_t _ptr_source_dsa_address;
10086 TALLOC_CTX *_mem_save_source_dsa_address_0;
10087 uint32_t _ptr_transport_obj_dn;
10088 TALLOC_CTX *_mem_save_transport_obj_dn_0;
10089 if (ndr_flags & NDR_SCALARS) {
10090 NDR_CHECK(ndr_pull_align(ndr, 8));
10091 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
10092 if (_ptr_naming_context_dn) {
10093 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
10094 } else {
10095 r->naming_context_dn = NULL;
10097 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
10098 if (_ptr_source_dsa_obj_dn) {
10099 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
10100 } else {
10101 r->source_dsa_obj_dn = NULL;
10103 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
10104 if (_ptr_source_dsa_address) {
10105 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
10106 } else {
10107 r->source_dsa_address = NULL;
10109 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
10110 if (_ptr_transport_obj_dn) {
10111 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
10112 } else {
10113 r->transport_obj_dn = NULL;
10115 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
10116 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10117 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
10118 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
10119 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10120 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
10121 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
10122 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
10123 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
10124 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
10125 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
10126 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
10127 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10129 if (ndr_flags & NDR_BUFFERS) {
10130 if (r->naming_context_dn) {
10131 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10132 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
10133 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
10134 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
10135 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
10136 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->naming_context_dn), ndr_get_array_length(ndr, &r->naming_context_dn));
10138 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
10139 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->naming_context_dn, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t), CH_UTF16));
10140 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
10142 if (r->source_dsa_obj_dn) {
10143 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10144 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
10145 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
10146 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
10147 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
10148 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_obj_dn), ndr_get_array_length(ndr, &r->source_dsa_obj_dn));
10150 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
10151 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
10152 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10154 if (r->source_dsa_address) {
10155 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10156 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
10157 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
10158 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
10159 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
10160 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
10162 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
10163 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
10164 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
10166 if (r->transport_obj_dn) {
10167 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10168 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
10169 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
10170 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
10171 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
10172 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->transport_obj_dn), ndr_get_array_length(ndr, &r->transport_obj_dn));
10174 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
10175 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->transport_obj_dn, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t), CH_UTF16));
10176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
10179 return NDR_ERR_SUCCESS;
10182 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
10184 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
10185 ndr->depth++;
10186 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
10187 ndr->depth++;
10188 if (r->naming_context_dn) {
10189 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
10191 ndr->depth--;
10192 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10193 ndr->depth++;
10194 if (r->source_dsa_obj_dn) {
10195 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10197 ndr->depth--;
10198 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
10199 ndr->depth++;
10200 if (r->source_dsa_address) {
10201 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
10203 ndr->depth--;
10204 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
10205 ndr->depth++;
10206 if (r->transport_obj_dn) {
10207 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
10209 ndr->depth--;
10210 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
10211 ndr_print_uint32(ndr, "reserved", r->reserved);
10212 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
10213 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
10214 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10215 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
10216 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
10217 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10218 ndr_print_NTTIME(ndr, "last_success", r->last_success);
10219 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
10220 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
10221 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
10222 ndr->depth--;
10225 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
10227 uint32_t cntr_array_0;
10228 if (ndr_flags & NDR_SCALARS) {
10229 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10230 NDR_CHECK(ndr_push_align(ndr, 8));
10231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10233 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10234 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10236 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10238 if (ndr_flags & NDR_BUFFERS) {
10239 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10240 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10243 return NDR_ERR_SUCCESS;
10246 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
10248 uint32_t cntr_array_0;
10249 TALLOC_CTX *_mem_save_array_0;
10250 if (ndr_flags & NDR_SCALARS) {
10251 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10252 NDR_CHECK(ndr_pull_align(ndr, 8));
10253 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10254 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10255 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10256 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10257 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10258 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10259 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10261 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10262 if (r->array) {
10263 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10265 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10267 if (ndr_flags & NDR_BUFFERS) {
10268 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10269 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10270 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10271 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10275 return NDR_ERR_SUCCESS;
10278 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
10280 uint32_t cntr_array_0;
10281 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
10282 ndr->depth++;
10283 ndr_print_uint32(ndr, "count", r->count);
10284 ndr_print_uint32(ndr, "reserved", r->reserved);
10285 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10286 ndr->depth++;
10287 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10288 char *idx_0=NULL;
10289 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10290 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
10291 free(idx_0);
10294 ndr->depth--;
10295 ndr->depth--;
10298 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
10300 uint32_t cntr_array_0;
10301 if (ndr_flags & NDR_SCALARS) {
10302 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10303 NDR_CHECK(ndr_push_align(ndr, 8));
10304 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10305 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10306 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10307 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10309 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10311 if (ndr_flags & NDR_BUFFERS) {
10313 return NDR_ERR_SUCCESS;
10316 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
10318 uint32_t cntr_array_0;
10319 TALLOC_CTX *_mem_save_array_0;
10320 if (ndr_flags & NDR_SCALARS) {
10321 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10322 NDR_CHECK(ndr_pull_align(ndr, 8));
10323 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10324 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10325 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10326 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10327 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10328 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10329 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10331 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10332 if (r->array) {
10333 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10335 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10337 if (ndr_flags & NDR_BUFFERS) {
10339 return NDR_ERR_SUCCESS;
10342 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
10344 uint32_t cntr_array_0;
10345 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
10346 ndr->depth++;
10347 ndr_print_uint32(ndr, "count", r->count);
10348 ndr_print_uint32(ndr, "reserved", r->reserved);
10349 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10350 ndr->depth++;
10351 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10352 char *idx_0=NULL;
10353 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10354 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
10355 free(idx_0);
10358 ndr->depth--;
10359 ndr->depth--;
10362 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
10364 if (ndr_flags & NDR_SCALARS) {
10365 NDR_CHECK(ndr_push_align(ndr, 8));
10366 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10367 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10368 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10369 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10370 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10371 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10372 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10374 if (ndr_flags & NDR_BUFFERS) {
10375 if (r->attribute_name) {
10376 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10377 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10378 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10379 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10382 return NDR_ERR_SUCCESS;
10385 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
10387 uint32_t _ptr_attribute_name;
10388 TALLOC_CTX *_mem_save_attribute_name_0;
10389 if (ndr_flags & NDR_SCALARS) {
10390 NDR_CHECK(ndr_pull_align(ndr, 8));
10391 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10392 if (_ptr_attribute_name) {
10393 NDR_PULL_ALLOC(ndr, r->attribute_name);
10394 } else {
10395 r->attribute_name = NULL;
10397 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10398 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10399 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10400 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10401 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10402 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10404 if (ndr_flags & NDR_BUFFERS) {
10405 if (r->attribute_name) {
10406 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10407 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10408 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10409 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10410 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10411 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
10413 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10414 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10415 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10418 return NDR_ERR_SUCCESS;
10421 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
10423 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
10424 ndr->depth++;
10425 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10426 ndr->depth++;
10427 if (r->attribute_name) {
10428 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10430 ndr->depth--;
10431 ndr_print_uint32(ndr, "version", r->version);
10432 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10433 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10434 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10435 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10436 ndr->depth--;
10439 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10441 uint32_t cntr_array_0;
10442 if (ndr_flags & NDR_SCALARS) {
10443 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10444 NDR_CHECK(ndr_push_align(ndr, 8));
10445 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10446 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10447 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10448 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10450 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10452 if (ndr_flags & NDR_BUFFERS) {
10453 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10454 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10457 return NDR_ERR_SUCCESS;
10460 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
10462 uint32_t cntr_array_0;
10463 TALLOC_CTX *_mem_save_array_0;
10464 if (ndr_flags & NDR_SCALARS) {
10465 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10466 NDR_CHECK(ndr_pull_align(ndr, 8));
10467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10468 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10469 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10470 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10471 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10472 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10473 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10475 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10476 if (r->array) {
10477 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10479 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10481 if (ndr_flags & NDR_BUFFERS) {
10482 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10483 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10484 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10485 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10487 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10489 return NDR_ERR_SUCCESS;
10492 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10494 uint32_t cntr_array_0;
10495 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
10496 ndr->depth++;
10497 ndr_print_uint32(ndr, "count", r->count);
10498 ndr_print_uint32(ndr, "reserved", r->reserved);
10499 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10500 ndr->depth++;
10501 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10502 char *idx_0=NULL;
10503 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10504 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
10505 free(idx_0);
10508 ndr->depth--;
10509 ndr->depth--;
10512 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
10514 if (ndr_flags & NDR_SCALARS) {
10515 NDR_CHECK(ndr_push_align(ndr, 5));
10516 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
10517 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10518 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
10519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
10520 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
10521 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10523 if (ndr_flags & NDR_BUFFERS) {
10524 if (r->dsa_obj_dn) {
10525 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10526 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10527 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10528 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dsa_obj_dn, ndr_charset_length(r->dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10531 return NDR_ERR_SUCCESS;
10534 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
10536 uint32_t _ptr_dsa_obj_dn;
10537 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
10538 if (ndr_flags & NDR_SCALARS) {
10539 NDR_CHECK(ndr_pull_align(ndr, 5));
10540 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
10541 if (_ptr_dsa_obj_dn) {
10542 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
10543 } else {
10544 r->dsa_obj_dn = NULL;
10546 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10547 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
10548 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
10549 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
10550 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10552 if (ndr_flags & NDR_BUFFERS) {
10553 if (r->dsa_obj_dn) {
10554 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10555 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
10556 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
10557 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
10558 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
10559 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dsa_obj_dn), ndr_get_array_length(ndr, &r->dsa_obj_dn));
10561 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
10562 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dsa_obj_dn, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
10563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
10566 return NDR_ERR_SUCCESS;
10569 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
10571 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
10572 ndr->depth++;
10573 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10574 ndr->depth++;
10575 if (r->dsa_obj_dn) {
10576 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10578 ndr->depth--;
10579 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
10580 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
10581 ndr_print_uint32(ndr, "num_failures", r->num_failures);
10582 ndr_print_WERROR(ndr, "last_result", r->last_result);
10583 ndr->depth--;
10586 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10588 uint32_t cntr_array_0;
10589 if (ndr_flags & NDR_SCALARS) {
10590 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10591 NDR_CHECK(ndr_push_align(ndr, 5));
10592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10594 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10595 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10597 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10599 if (ndr_flags & NDR_BUFFERS) {
10600 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10601 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10604 return NDR_ERR_SUCCESS;
10607 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10609 uint32_t cntr_array_0;
10610 TALLOC_CTX *_mem_save_array_0;
10611 if (ndr_flags & NDR_SCALARS) {
10612 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10613 NDR_CHECK(ndr_pull_align(ndr, 5));
10614 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10615 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10616 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10617 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10618 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10619 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10620 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10622 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10623 if (r->array) {
10624 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10626 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10628 if (ndr_flags & NDR_BUFFERS) {
10629 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10630 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10631 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10632 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10634 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10636 return NDR_ERR_SUCCESS;
10639 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10641 uint32_t cntr_array_0;
10642 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
10643 ndr->depth++;
10644 ndr_print_uint32(ndr, "count", r->count);
10645 ndr_print_uint32(ndr, "reserved", r->reserved);
10646 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10647 ndr->depth++;
10648 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10649 char *idx_0=NULL;
10650 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10651 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
10652 free(idx_0);
10655 ndr->depth--;
10656 ndr->depth--;
10659 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
10661 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
10662 return NDR_ERR_SUCCESS;
10665 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
10667 uint16_t v;
10668 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
10669 *r = v;
10670 return NDR_ERR_SUCCESS;
10673 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
10675 const char *val = NULL;
10677 switch (r) {
10678 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10679 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10680 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10681 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10682 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10684 ndr_print_enum(ndr, name, "ENUM", val, r);
10687 static enum ndr_err_code ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRplicaOpOptions *r)
10689 if (ndr_flags & NDR_SCALARS) {
10690 int level = ndr_push_get_switch_value(ndr, r);
10691 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, level));
10692 NDR_CHECK(ndr_push_union_align(ndr, 4));
10693 switch (level) {
10694 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10695 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->sync));
10696 break; }
10698 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10699 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->add));
10700 break; }
10702 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10703 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->op_delete));
10704 break; }
10706 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10707 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->modify));
10708 break; }
10710 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10711 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->update_refs));
10712 break; }
10714 default: {
10715 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
10716 break; }
10720 if (ndr_flags & NDR_BUFFERS) {
10721 int level = ndr_push_get_switch_value(ndr, r);
10722 switch (level) {
10723 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10724 break;
10726 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10727 break;
10729 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10730 break;
10732 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10733 break;
10735 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10736 break;
10738 default:
10739 break;
10743 return NDR_ERR_SUCCESS;
10746 static enum ndr_err_code ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRplicaOpOptions *r)
10748 int level;
10749 uint16_t _level;
10750 level = ndr_pull_get_switch_value(ndr, r);
10751 if (ndr_flags & NDR_SCALARS) {
10752 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
10753 if (_level != level) {
10754 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10756 NDR_CHECK(ndr_pull_union_align(ndr, 4));
10757 switch (level) {
10758 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10759 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->sync));
10760 break; }
10762 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10763 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->add));
10764 break; }
10766 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10767 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->op_delete));
10768 break; }
10770 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10771 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->modify));
10772 break; }
10774 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10775 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->update_refs));
10776 break; }
10778 default: {
10779 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
10780 break; }
10784 if (ndr_flags & NDR_BUFFERS) {
10785 switch (level) {
10786 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10787 break;
10789 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10790 break;
10792 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10793 break;
10795 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10796 break;
10798 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10799 break;
10801 default:
10802 break;
10806 return NDR_ERR_SUCCESS;
10809 _PUBLIC_ void ndr_print_drsuapi_DsRplicaOpOptions(struct ndr_print *ndr, const char *name, const union drsuapi_DsRplicaOpOptions *r)
10811 int level;
10812 level = ndr_print_get_switch_value(ndr, r);
10813 ndr_print_union(ndr, name, level, "drsuapi_DsRplicaOpOptions");
10814 switch (level) {
10815 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10816 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "sync", r->sync);
10817 break;
10819 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10820 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "add", r->add);
10821 break;
10823 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10824 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "op_delete", r->op_delete);
10825 break;
10827 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10828 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "modify", r->modify);
10829 break;
10831 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10832 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "update_refs", r->update_refs);
10833 break;
10835 default:
10836 ndr_print_uint32(ndr, "unknown", r->unknown);
10837 break;
10842 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
10844 if (ndr_flags & NDR_SCALARS) {
10845 NDR_CHECK(ndr_push_align(ndr, 5));
10846 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
10847 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
10848 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
10849 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
10850 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->options, r->operation_type));
10851 NDR_CHECK(ndr_push_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10852 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
10853 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
10854 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
10855 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10856 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10857 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10859 if (ndr_flags & NDR_BUFFERS) {
10860 if (r->nc_dn) {
10861 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10862 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10863 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10864 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10866 if (r->remote_dsa_obj_dn) {
10867 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10868 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10869 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10870 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote_dsa_obj_dn, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10872 if (r->remote_dsa_address) {
10873 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10874 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10875 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10876 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote_dsa_address, ndr_charset_length(r->remote_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10879 return NDR_ERR_SUCCESS;
10882 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
10884 uint32_t _ptr_nc_dn;
10885 TALLOC_CTX *_mem_save_nc_dn_0;
10886 uint32_t _ptr_remote_dsa_obj_dn;
10887 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
10888 uint32_t _ptr_remote_dsa_address;
10889 TALLOC_CTX *_mem_save_remote_dsa_address_0;
10890 if (ndr_flags & NDR_SCALARS) {
10891 NDR_CHECK(ndr_pull_align(ndr, 5));
10892 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
10893 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
10894 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
10895 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
10896 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->options, r->operation_type));
10897 NDR_CHECK(ndr_pull_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10898 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
10899 if (_ptr_nc_dn) {
10900 NDR_PULL_ALLOC(ndr, r->nc_dn);
10901 } else {
10902 r->nc_dn = NULL;
10904 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
10905 if (_ptr_remote_dsa_obj_dn) {
10906 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
10907 } else {
10908 r->remote_dsa_obj_dn = NULL;
10910 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
10911 if (_ptr_remote_dsa_address) {
10912 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
10913 } else {
10914 r->remote_dsa_address = NULL;
10916 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10917 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10918 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10920 if (ndr_flags & NDR_BUFFERS) {
10921 if (r->nc_dn) {
10922 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10923 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
10924 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
10925 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
10926 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
10927 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->nc_dn), ndr_get_array_length(ndr, &r->nc_dn));
10929 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
10930 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
10931 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
10933 if (r->remote_dsa_obj_dn) {
10934 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10935 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
10936 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
10937 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
10938 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
10939 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote_dsa_obj_dn), ndr_get_array_length(ndr, &r->remote_dsa_obj_dn));
10941 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
10942 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_obj_dn, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
10943 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
10945 if (r->remote_dsa_address) {
10946 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10947 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
10948 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
10949 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
10950 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
10951 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote_dsa_address), ndr_get_array_length(ndr, &r->remote_dsa_address));
10953 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
10954 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_address, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t), CH_UTF16));
10955 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
10958 return NDR_ERR_SUCCESS;
10961 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
10963 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
10964 ndr->depth++;
10965 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
10966 ndr_print_uint32(ndr, "serial_num", r->serial_num);
10967 ndr_print_uint32(ndr, "priority", r->priority);
10968 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
10969 ndr_print_set_switch_value(ndr, &r->options, r->operation_type);
10970 ndr_print_drsuapi_DsRplicaOpOptions(ndr, "options", &r->options);
10971 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
10972 ndr->depth++;
10973 if (r->nc_dn) {
10974 ndr_print_string(ndr, "nc_dn", r->nc_dn);
10976 ndr->depth--;
10977 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10978 ndr->depth++;
10979 if (r->remote_dsa_obj_dn) {
10980 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10982 ndr->depth--;
10983 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
10984 ndr->depth++;
10985 if (r->remote_dsa_address) {
10986 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
10988 ndr->depth--;
10989 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
10990 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
10991 ndr->depth--;
10994 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
10996 uint32_t cntr_array_0;
10997 if (ndr_flags & NDR_SCALARS) {
10998 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10999 NDR_CHECK(ndr_push_align(ndr, 5));
11000 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
11001 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11002 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11003 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11005 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11007 if (ndr_flags & NDR_BUFFERS) {
11008 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11009 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11012 return NDR_ERR_SUCCESS;
11015 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
11017 uint32_t cntr_array_0;
11018 TALLOC_CTX *_mem_save_array_0;
11019 if (ndr_flags & NDR_SCALARS) {
11020 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11021 NDR_CHECK(ndr_pull_align(ndr, 5));
11022 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
11023 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11024 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11025 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11026 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11027 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11028 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11030 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11031 if (r->array) {
11032 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11034 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11036 if (ndr_flags & NDR_BUFFERS) {
11037 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11038 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11039 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11040 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11042 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11044 return NDR_ERR_SUCCESS;
11047 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
11049 uint32_t cntr_array_0;
11050 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
11051 ndr->depth++;
11052 ndr_print_NTTIME(ndr, "time", r->time);
11053 ndr_print_uint32(ndr, "count", r->count);
11054 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11055 ndr->depth++;
11056 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11057 char *idx_0=NULL;
11058 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11059 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
11060 free(idx_0);
11063 ndr->depth--;
11064 ndr->depth--;
11067 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
11069 if (ndr_flags & NDR_SCALARS) {
11070 NDR_CHECK(ndr_push_align(ndr, 8));
11071 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11072 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11073 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11074 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11075 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11076 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11077 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11078 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11079 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11080 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11081 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11082 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11084 if (ndr_flags & NDR_BUFFERS) {
11085 if (r->attribute_name) {
11086 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11087 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11088 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11089 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11091 if (r->object_dn) {
11092 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11093 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11094 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11095 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11097 if (r->binary) {
11098 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11101 return NDR_ERR_SUCCESS;
11104 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
11106 uint32_t _ptr_attribute_name;
11107 TALLOC_CTX *_mem_save_attribute_name_0;
11108 uint32_t _ptr_object_dn;
11109 TALLOC_CTX *_mem_save_object_dn_0;
11110 uint32_t _ptr_binary;
11111 TALLOC_CTX *_mem_save_binary_0;
11112 if (ndr_flags & NDR_SCALARS) {
11113 NDR_CHECK(ndr_pull_align(ndr, 8));
11114 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11115 if (_ptr_attribute_name) {
11116 NDR_PULL_ALLOC(ndr, r->attribute_name);
11117 } else {
11118 r->attribute_name = NULL;
11120 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11121 if (_ptr_object_dn) {
11122 NDR_PULL_ALLOC(ndr, r->object_dn);
11123 } else {
11124 r->object_dn = NULL;
11126 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11127 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11128 if (_ptr_binary) {
11129 NDR_PULL_ALLOC(ndr, r->binary);
11130 } else {
11131 r->binary = NULL;
11133 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11134 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11135 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11136 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11137 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11138 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11139 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11140 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11142 if (ndr_flags & NDR_BUFFERS) {
11143 if (r->attribute_name) {
11144 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11145 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11146 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11147 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11148 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11149 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
11151 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11152 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11153 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11155 if (r->object_dn) {
11156 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11157 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11158 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11159 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11160 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11161 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
11163 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11164 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11165 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11167 if (r->binary) {
11168 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11169 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11170 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11174 return NDR_ERR_SUCCESS;
11177 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
11179 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
11180 ndr->depth++;
11181 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11182 ndr->depth++;
11183 if (r->attribute_name) {
11184 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11186 ndr->depth--;
11187 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11188 ndr->depth++;
11189 if (r->object_dn) {
11190 ndr_print_string(ndr, "object_dn", r->object_dn);
11192 ndr->depth--;
11193 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->binary, 0):r->__ndr_size_binary);
11194 ndr_print_ptr(ndr, "binary", r->binary);
11195 ndr->depth++;
11196 if (r->binary) {
11197 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11199 ndr->depth--;
11200 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11201 ndr_print_NTTIME(ndr, "created", r->created);
11202 ndr_print_uint32(ndr, "version", r->version);
11203 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11204 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11205 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11206 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11207 ndr->depth--;
11210 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11212 uint32_t cntr_array_0;
11213 if (ndr_flags & NDR_SCALARS) {
11214 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11215 NDR_CHECK(ndr_push_align(ndr, 8));
11216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11217 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11218 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11219 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11221 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11223 if (ndr_flags & NDR_BUFFERS) {
11224 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11225 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11228 return NDR_ERR_SUCCESS;
11231 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11233 uint32_t cntr_array_0;
11234 TALLOC_CTX *_mem_save_array_0;
11235 if (ndr_flags & NDR_SCALARS) {
11236 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11237 NDR_CHECK(ndr_pull_align(ndr, 8));
11238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11239 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11240 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11241 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11242 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11243 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11244 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11246 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11247 if (r->array) {
11248 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11250 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11252 if (ndr_flags & NDR_BUFFERS) {
11253 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11254 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11255 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11256 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11258 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11260 return NDR_ERR_SUCCESS;
11263 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11265 uint32_t cntr_array_0;
11266 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
11267 ndr->depth++;
11268 ndr_print_uint32(ndr, "count", r->count);
11269 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11270 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11271 ndr->depth++;
11272 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11273 char *idx_0=NULL;
11274 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11275 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
11276 free(idx_0);
11279 ndr->depth--;
11280 ndr->depth--;
11283 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
11285 uint32_t cntr_array_0;
11286 if (ndr_flags & NDR_SCALARS) {
11287 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11288 NDR_CHECK(ndr_push_align(ndr, 8));
11289 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11290 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11291 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11292 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11294 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11296 if (ndr_flags & NDR_BUFFERS) {
11298 return NDR_ERR_SUCCESS;
11301 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
11303 uint32_t cntr_array_0;
11304 TALLOC_CTX *_mem_save_array_0;
11305 if (ndr_flags & NDR_SCALARS) {
11306 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11307 NDR_CHECK(ndr_pull_align(ndr, 8));
11308 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11309 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11310 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11311 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11312 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11313 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11314 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11317 if (r->array) {
11318 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11320 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11322 if (ndr_flags & NDR_BUFFERS) {
11324 return NDR_ERR_SUCCESS;
11327 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
11329 uint32_t cntr_array_0;
11330 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
11331 ndr->depth++;
11332 ndr_print_uint32(ndr, "count", r->count);
11333 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11334 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11335 ndr->depth++;
11336 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11337 char *idx_0=NULL;
11338 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11339 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
11340 free(idx_0);
11343 ndr->depth--;
11344 ndr->depth--;
11347 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
11349 if (ndr_flags & NDR_SCALARS) {
11350 NDR_CHECK(ndr_push_align(ndr, 8));
11351 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11352 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11353 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
11354 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11355 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11357 if (ndr_flags & NDR_BUFFERS) {
11358 if (r->source_dsa_obj_dn) {
11359 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11360 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11361 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11362 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_obj_dn, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11365 return NDR_ERR_SUCCESS;
11368 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
11370 uint32_t _ptr_source_dsa_obj_dn;
11371 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
11372 if (ndr_flags & NDR_SCALARS) {
11373 NDR_CHECK(ndr_pull_align(ndr, 8));
11374 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11375 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11376 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
11377 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11378 if (_ptr_source_dsa_obj_dn) {
11379 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11380 } else {
11381 r->source_dsa_obj_dn = NULL;
11383 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11385 if (ndr_flags & NDR_BUFFERS) {
11386 if (r->source_dsa_obj_dn) {
11387 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11388 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11389 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11390 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11391 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
11392 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_obj_dn), ndr_get_array_length(ndr, &r->source_dsa_obj_dn));
11394 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
11395 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
11396 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11399 return NDR_ERR_SUCCESS;
11402 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
11404 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
11405 ndr->depth++;
11406 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11407 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11408 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
11409 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11410 ndr->depth++;
11411 if (r->source_dsa_obj_dn) {
11412 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11414 ndr->depth--;
11415 ndr->depth--;
11418 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
11420 uint32_t cntr_array_0;
11421 if (ndr_flags & NDR_SCALARS) {
11422 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11423 NDR_CHECK(ndr_push_align(ndr, 8));
11424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11425 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11426 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11427 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11429 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11431 if (ndr_flags & NDR_BUFFERS) {
11432 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11433 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11436 return NDR_ERR_SUCCESS;
11439 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
11441 uint32_t cntr_array_0;
11442 TALLOC_CTX *_mem_save_array_0;
11443 if (ndr_flags & NDR_SCALARS) {
11444 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11445 NDR_CHECK(ndr_pull_align(ndr, 8));
11446 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11447 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11448 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11449 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11450 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11451 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11452 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11454 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11455 if (r->array) {
11456 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11458 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11460 if (ndr_flags & NDR_BUFFERS) {
11461 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11462 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11463 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11464 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11468 return NDR_ERR_SUCCESS;
11471 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
11473 uint32_t cntr_array_0;
11474 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
11475 ndr->depth++;
11476 ndr_print_uint32(ndr, "count", r->count);
11477 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11478 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11479 ndr->depth++;
11480 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11481 char *idx_0=NULL;
11482 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11483 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
11484 free(idx_0);
11487 ndr->depth--;
11488 ndr->depth--;
11491 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
11493 if (ndr_flags & NDR_SCALARS) {
11494 NDR_CHECK(ndr_push_align(ndr, 8));
11495 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11496 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11497 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11498 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11499 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11500 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11501 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11502 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11504 if (ndr_flags & NDR_BUFFERS) {
11505 if (r->attribute_name) {
11506 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11507 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11508 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11509 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11511 if (r->originating_dsa_dn) {
11512 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11513 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11514 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11515 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->originating_dsa_dn, ndr_charset_length(r->originating_dsa_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11518 return NDR_ERR_SUCCESS;
11521 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
11523 uint32_t _ptr_attribute_name;
11524 TALLOC_CTX *_mem_save_attribute_name_0;
11525 uint32_t _ptr_originating_dsa_dn;
11526 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11527 if (ndr_flags & NDR_SCALARS) {
11528 NDR_CHECK(ndr_pull_align(ndr, 8));
11529 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11530 if (_ptr_attribute_name) {
11531 NDR_PULL_ALLOC(ndr, r->attribute_name);
11532 } else {
11533 r->attribute_name = NULL;
11535 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11536 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11537 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11538 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11539 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11540 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11541 if (_ptr_originating_dsa_dn) {
11542 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11543 } else {
11544 r->originating_dsa_dn = NULL;
11546 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11548 if (ndr_flags & NDR_BUFFERS) {
11549 if (r->attribute_name) {
11550 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11551 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11552 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11553 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11554 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11555 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
11557 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11558 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11559 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11561 if (r->originating_dsa_dn) {
11562 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11563 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11564 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11565 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11566 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11567 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->originating_dsa_dn), ndr_get_array_length(ndr, &r->originating_dsa_dn));
11569 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11570 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t), CH_UTF16));
11571 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11574 return NDR_ERR_SUCCESS;
11577 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
11579 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
11580 ndr->depth++;
11581 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11582 ndr->depth++;
11583 if (r->attribute_name) {
11584 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11586 ndr->depth--;
11587 ndr_print_uint32(ndr, "version", r->version);
11588 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11589 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11590 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11591 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11592 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11593 ndr->depth++;
11594 if (r->originating_dsa_dn) {
11595 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11597 ndr->depth--;
11598 ndr->depth--;
11601 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11603 uint32_t cntr_array_0;
11604 if (ndr_flags & NDR_SCALARS) {
11605 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11606 NDR_CHECK(ndr_push_align(ndr, 8));
11607 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11608 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11609 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11610 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11612 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11614 if (ndr_flags & NDR_BUFFERS) {
11615 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11616 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11619 return NDR_ERR_SUCCESS;
11622 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11624 uint32_t cntr_array_0;
11625 TALLOC_CTX *_mem_save_array_0;
11626 if (ndr_flags & NDR_SCALARS) {
11627 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11628 NDR_CHECK(ndr_pull_align(ndr, 8));
11629 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11630 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11631 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11632 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11633 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11634 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11635 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11638 if (r->array) {
11639 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11641 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11643 if (ndr_flags & NDR_BUFFERS) {
11644 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11645 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11646 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11647 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11651 return NDR_ERR_SUCCESS;
11654 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11656 uint32_t cntr_array_0;
11657 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
11658 ndr->depth++;
11659 ndr_print_uint32(ndr, "count", r->count);
11660 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11661 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11662 ndr->depth++;
11663 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11664 char *idx_0=NULL;
11665 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11666 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
11667 free(idx_0);
11670 ndr->depth--;
11671 ndr->depth--;
11674 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11676 if (ndr_flags & NDR_SCALARS) {
11677 NDR_CHECK(ndr_push_align(ndr, 8));
11678 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11679 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11680 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11681 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11682 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11683 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11684 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11685 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11686 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11687 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11688 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11689 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11690 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11692 if (ndr_flags & NDR_BUFFERS) {
11693 if (r->attribute_name) {
11694 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11695 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11696 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11697 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11699 if (r->object_dn) {
11700 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11701 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11702 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11703 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11705 if (r->binary) {
11706 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11708 if (r->originating_dsa_dn) {
11709 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11710 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11711 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11712 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->originating_dsa_dn, ndr_charset_length(r->originating_dsa_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11715 return NDR_ERR_SUCCESS;
11718 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
11720 uint32_t _ptr_attribute_name;
11721 TALLOC_CTX *_mem_save_attribute_name_0;
11722 uint32_t _ptr_object_dn;
11723 TALLOC_CTX *_mem_save_object_dn_0;
11724 uint32_t _ptr_binary;
11725 TALLOC_CTX *_mem_save_binary_0;
11726 uint32_t _ptr_originating_dsa_dn;
11727 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11728 if (ndr_flags & NDR_SCALARS) {
11729 NDR_CHECK(ndr_pull_align(ndr, 8));
11730 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11731 if (_ptr_attribute_name) {
11732 NDR_PULL_ALLOC(ndr, r->attribute_name);
11733 } else {
11734 r->attribute_name = NULL;
11736 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11737 if (_ptr_object_dn) {
11738 NDR_PULL_ALLOC(ndr, r->object_dn);
11739 } else {
11740 r->object_dn = NULL;
11742 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11743 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11744 if (_ptr_binary) {
11745 NDR_PULL_ALLOC(ndr, r->binary);
11746 } else {
11747 r->binary = NULL;
11749 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11750 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11751 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11752 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11753 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11754 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11755 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11756 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11757 if (_ptr_originating_dsa_dn) {
11758 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11759 } else {
11760 r->originating_dsa_dn = NULL;
11762 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11764 if (ndr_flags & NDR_BUFFERS) {
11765 if (r->attribute_name) {
11766 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11767 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11768 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11769 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11770 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11771 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
11773 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11774 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11775 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11777 if (r->object_dn) {
11778 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11779 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11780 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11781 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11782 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11783 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
11785 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11786 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11789 if (r->binary) {
11790 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11791 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11792 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11793 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11795 if (r->originating_dsa_dn) {
11796 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11797 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11798 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11799 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11800 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11801 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->originating_dsa_dn), ndr_get_array_length(ndr, &r->originating_dsa_dn));
11803 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11804 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t), CH_UTF16));
11805 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11808 return NDR_ERR_SUCCESS;
11811 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11813 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
11814 ndr->depth++;
11815 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11816 ndr->depth++;
11817 if (r->attribute_name) {
11818 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11820 ndr->depth--;
11821 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11822 ndr->depth++;
11823 if (r->object_dn) {
11824 ndr_print_string(ndr, "object_dn", r->object_dn);
11826 ndr->depth--;
11827 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->binary, 0):r->__ndr_size_binary);
11828 ndr_print_ptr(ndr, "binary", r->binary);
11829 ndr->depth++;
11830 if (r->binary) {
11831 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11833 ndr->depth--;
11834 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11835 ndr_print_NTTIME(ndr, "created", r->created);
11836 ndr_print_uint32(ndr, "version", r->version);
11837 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11838 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11839 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11840 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11841 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11842 ndr->depth++;
11843 if (r->originating_dsa_dn) {
11844 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11846 ndr->depth--;
11847 ndr->depth--;
11850 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11852 uint32_t cntr_array_0;
11853 if (ndr_flags & NDR_SCALARS) {
11854 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11855 NDR_CHECK(ndr_push_align(ndr, 8));
11856 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11857 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11858 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11859 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11861 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11863 if (ndr_flags & NDR_BUFFERS) {
11864 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11865 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11868 return NDR_ERR_SUCCESS;
11871 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11873 uint32_t cntr_array_0;
11874 TALLOC_CTX *_mem_save_array_0;
11875 if (ndr_flags & NDR_SCALARS) {
11876 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11877 NDR_CHECK(ndr_pull_align(ndr, 8));
11878 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11879 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11880 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11881 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11882 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11883 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11884 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11886 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11887 if (r->array) {
11888 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11890 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11892 if (ndr_flags & NDR_BUFFERS) {
11893 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11894 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11895 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11896 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11900 return NDR_ERR_SUCCESS;
11903 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11905 uint32_t cntr_array_0;
11906 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11907 ndr->depth++;
11908 ndr_print_uint32(ndr, "count", r->count);
11909 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11910 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11911 ndr->depth++;
11912 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11913 char *idx_0=NULL;
11914 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11915 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
11916 free(idx_0);
11919 ndr->depth--;
11920 ndr->depth--;
11923 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
11925 if (ndr_flags & NDR_SCALARS) {
11926 NDR_CHECK(ndr_push_align(ndr, 8));
11927 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
11928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11930 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11931 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
11933 uint32_t _flags_save_ipv4address = ndr->flags;
11934 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11935 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
11936 ndr->flags = _flags_save_ipv4address;
11938 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11939 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11941 if (ndr_flags & NDR_BUFFERS) {
11943 return NDR_ERR_SUCCESS;
11946 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
11948 if (ndr_flags & NDR_SCALARS) {
11949 NDR_CHECK(ndr_pull_align(ndr, 8));
11950 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
11951 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11952 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11953 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11954 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
11956 uint32_t _flags_save_ipv4address = ndr->flags;
11957 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11958 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
11959 ndr->flags = _flags_save_ipv4address;
11961 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11962 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11964 if (ndr_flags & NDR_BUFFERS) {
11966 return NDR_ERR_SUCCESS;
11969 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
11971 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
11972 ndr->depth++;
11973 ndr_print_hyper(ndr, "u1", r->u1);
11974 ndr_print_uint32(ndr, "u2", r->u2);
11975 ndr_print_uint32(ndr, "u3", r->u3);
11976 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
11977 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
11978 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
11979 ndr_print_uint32(ndr, "u5", r->u5);
11980 ndr->depth--;
11983 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
11985 uint32_t cntr_array_0;
11986 if (ndr_flags & NDR_SCALARS) {
11987 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11988 NDR_CHECK(ndr_push_align(ndr, 8));
11989 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11991 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11992 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11994 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11996 if (ndr_flags & NDR_BUFFERS) {
11998 return NDR_ERR_SUCCESS;
12001 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
12003 uint32_t cntr_array_0;
12004 TALLOC_CTX *_mem_save_array_0;
12005 if (ndr_flags & NDR_SCALARS) {
12006 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12007 NDR_CHECK(ndr_pull_align(ndr, 8));
12008 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12009 if (r->count > 10000) {
12010 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12012 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12013 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
12014 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12015 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12016 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12017 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12019 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12020 if (r->array) {
12021 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12023 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12025 if (ndr_flags & NDR_BUFFERS) {
12027 return NDR_ERR_SUCCESS;
12030 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
12032 uint32_t cntr_array_0;
12033 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
12034 ndr->depth++;
12035 ndr_print_uint32(ndr, "count", r->count);
12036 ndr_print_uint32(ndr, "reserved", r->reserved);
12037 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12038 ndr->depth++;
12039 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12040 char *idx_0=NULL;
12041 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12042 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
12043 free(idx_0);
12046 ndr->depth--;
12047 ndr->depth--;
12050 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
12052 if (ndr_flags & NDR_SCALARS) {
12053 NDR_CHECK(ndr_push_align(ndr, 8));
12054 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
12055 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
12056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
12057 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
12058 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
12059 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
12060 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
12061 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
12062 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12064 if (ndr_flags & NDR_BUFFERS) {
12065 if (r->str1) {
12066 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
12067 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12068 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
12069 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12072 return NDR_ERR_SUCCESS;
12075 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
12077 uint32_t _ptr_str1;
12078 TALLOC_CTX *_mem_save_str1_0;
12079 if (ndr_flags & NDR_SCALARS) {
12080 NDR_CHECK(ndr_pull_align(ndr, 8));
12081 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
12082 if (_ptr_str1) {
12083 NDR_PULL_ALLOC(ndr, r->str1);
12084 } else {
12085 r->str1 = NULL;
12087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
12088 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
12089 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
12090 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
12091 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
12092 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
12093 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
12094 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12096 if (ndr_flags & NDR_BUFFERS) {
12097 if (r->str1) {
12098 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
12099 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
12100 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
12101 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
12102 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
12103 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->str1), ndr_get_array_length(ndr, &r->str1));
12105 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
12106 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
12107 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
12110 return NDR_ERR_SUCCESS;
12113 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
12115 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
12116 ndr->depth++;
12117 ndr_print_ptr(ndr, "str1", r->str1);
12118 ndr->depth++;
12119 if (r->str1) {
12120 ndr_print_string(ndr, "str1", r->str1);
12122 ndr->depth--;
12123 ndr_print_uint32(ndr, "u1", r->u1);
12124 ndr_print_uint32(ndr, "u2", r->u2);
12125 ndr_print_uint32(ndr, "u3", r->u3);
12126 ndr_print_uint32(ndr, "u4", r->u4);
12127 ndr_print_uint32(ndr, "u5", r->u5);
12128 ndr_print_hyper(ndr, "u6", r->u6);
12129 ndr_print_uint32(ndr, "u7", r->u7);
12130 ndr->depth--;
12133 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
12135 uint32_t cntr_array_0;
12136 if (ndr_flags & NDR_SCALARS) {
12137 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12138 NDR_CHECK(ndr_push_align(ndr, 8));
12139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
12141 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12142 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12144 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12146 if (ndr_flags & NDR_BUFFERS) {
12147 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12148 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12151 return NDR_ERR_SUCCESS;
12154 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
12156 uint32_t cntr_array_0;
12157 TALLOC_CTX *_mem_save_array_0;
12158 if (ndr_flags & NDR_SCALARS) {
12159 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12160 NDR_CHECK(ndr_pull_align(ndr, 8));
12161 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12162 if (r->count > 256) {
12163 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12165 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12166 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
12167 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12168 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12169 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12170 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12172 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12173 if (r->array) {
12174 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12176 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12178 if (ndr_flags & NDR_BUFFERS) {
12179 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12180 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12181 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12182 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12184 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12186 return NDR_ERR_SUCCESS;
12189 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
12191 uint32_t cntr_array_0;
12192 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
12193 ndr->depth++;
12194 ndr_print_uint32(ndr, "count", r->count);
12195 ndr_print_uint32(ndr, "reserved", r->reserved);
12196 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12197 ndr->depth++;
12198 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12199 char *idx_0=NULL;
12200 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12201 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
12202 free(idx_0);
12205 ndr->depth--;
12206 ndr->depth--;
12209 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
12211 if (ndr_flags & NDR_SCALARS) {
12212 int level = ndr_push_get_switch_value(ndr, r);
12213 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
12214 NDR_CHECK(ndr_push_union_align(ndr, 5));
12215 switch (level) {
12216 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12217 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
12218 break; }
12220 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12221 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
12222 break; }
12224 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12225 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
12226 break; }
12228 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12229 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
12230 break; }
12232 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12233 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
12234 break; }
12236 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12237 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
12238 break; }
12240 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12241 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
12242 break; }
12244 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12245 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
12246 break; }
12248 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12249 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
12250 break; }
12252 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12253 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
12254 break; }
12256 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12257 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
12258 break; }
12260 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
12261 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours02));
12262 break; }
12264 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12265 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connections04));
12266 break; }
12268 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12269 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors05));
12270 break; }
12272 case DRSUAPI_DS_REPLICA_INFO_06: {
12273 NDR_CHECK(ndr_push_unique_ptr(ndr, r->i06));
12274 break; }
12276 default:
12277 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12280 if (ndr_flags & NDR_BUFFERS) {
12281 int level = ndr_push_get_switch_value(ndr, r);
12282 switch (level) {
12283 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12284 if (r->neighbours) {
12285 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12287 break;
12289 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12290 if (r->cursors) {
12291 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12293 break;
12295 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12296 if (r->objmetadata) {
12297 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12299 break;
12301 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12302 if (r->connectfailures) {
12303 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12305 break;
12307 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12308 if (r->linkfailures) {
12309 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12311 break;
12313 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12314 if (r->pendingops) {
12315 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12317 break;
12319 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12320 if (r->attrvalmetadata) {
12321 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12323 break;
12325 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12326 if (r->cursors2) {
12327 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12329 break;
12331 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12332 if (r->cursors3) {
12333 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12335 break;
12337 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12338 if (r->objmetadata2) {
12339 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12341 break;
12343 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12344 if (r->attrvalmetadata2) {
12345 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12347 break;
12349 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12350 if (r->neighbours02) {
12351 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12353 break;
12355 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12356 if (r->connections04) {
12357 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12359 break;
12361 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12362 if (r->cursors05) {
12363 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12365 break;
12367 case DRSUAPI_DS_REPLICA_INFO_06:
12368 if (r->i06) {
12369 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12371 break;
12373 default:
12374 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12377 return NDR_ERR_SUCCESS;
12380 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
12382 int level;
12383 uint32_t _level;
12384 TALLOC_CTX *_mem_save_neighbours_0;
12385 TALLOC_CTX *_mem_save_cursors_0;
12386 TALLOC_CTX *_mem_save_objmetadata_0;
12387 TALLOC_CTX *_mem_save_connectfailures_0;
12388 TALLOC_CTX *_mem_save_linkfailures_0;
12389 TALLOC_CTX *_mem_save_pendingops_0;
12390 TALLOC_CTX *_mem_save_attrvalmetadata_0;
12391 TALLOC_CTX *_mem_save_cursors2_0;
12392 TALLOC_CTX *_mem_save_cursors3_0;
12393 TALLOC_CTX *_mem_save_objmetadata2_0;
12394 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
12395 TALLOC_CTX *_mem_save_neighbours02_0;
12396 TALLOC_CTX *_mem_save_connections04_0;
12397 TALLOC_CTX *_mem_save_cursors05_0;
12398 TALLOC_CTX *_mem_save_i06_0;
12399 level = ndr_pull_get_switch_value(ndr, r);
12400 if (ndr_flags & NDR_SCALARS) {
12401 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12402 if (_level != level) {
12403 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12405 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12406 switch (level) {
12407 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12408 uint32_t _ptr_neighbours;
12409 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
12410 if (_ptr_neighbours) {
12411 NDR_PULL_ALLOC(ndr, r->neighbours);
12412 } else {
12413 r->neighbours = NULL;
12415 break; }
12417 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12418 uint32_t _ptr_cursors;
12419 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
12420 if (_ptr_cursors) {
12421 NDR_PULL_ALLOC(ndr, r->cursors);
12422 } else {
12423 r->cursors = NULL;
12425 break; }
12427 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12428 uint32_t _ptr_objmetadata;
12429 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
12430 if (_ptr_objmetadata) {
12431 NDR_PULL_ALLOC(ndr, r->objmetadata);
12432 } else {
12433 r->objmetadata = NULL;
12435 break; }
12437 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12438 uint32_t _ptr_connectfailures;
12439 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
12440 if (_ptr_connectfailures) {
12441 NDR_PULL_ALLOC(ndr, r->connectfailures);
12442 } else {
12443 r->connectfailures = NULL;
12445 break; }
12447 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12448 uint32_t _ptr_linkfailures;
12449 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
12450 if (_ptr_linkfailures) {
12451 NDR_PULL_ALLOC(ndr, r->linkfailures);
12452 } else {
12453 r->linkfailures = NULL;
12455 break; }
12457 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12458 uint32_t _ptr_pendingops;
12459 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
12460 if (_ptr_pendingops) {
12461 NDR_PULL_ALLOC(ndr, r->pendingops);
12462 } else {
12463 r->pendingops = NULL;
12465 break; }
12467 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12468 uint32_t _ptr_attrvalmetadata;
12469 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
12470 if (_ptr_attrvalmetadata) {
12471 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
12472 } else {
12473 r->attrvalmetadata = NULL;
12475 break; }
12477 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12478 uint32_t _ptr_cursors2;
12479 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
12480 if (_ptr_cursors2) {
12481 NDR_PULL_ALLOC(ndr, r->cursors2);
12482 } else {
12483 r->cursors2 = NULL;
12485 break; }
12487 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12488 uint32_t _ptr_cursors3;
12489 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
12490 if (_ptr_cursors3) {
12491 NDR_PULL_ALLOC(ndr, r->cursors3);
12492 } else {
12493 r->cursors3 = NULL;
12495 break; }
12497 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12498 uint32_t _ptr_objmetadata2;
12499 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
12500 if (_ptr_objmetadata2) {
12501 NDR_PULL_ALLOC(ndr, r->objmetadata2);
12502 } else {
12503 r->objmetadata2 = NULL;
12505 break; }
12507 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12508 uint32_t _ptr_attrvalmetadata2;
12509 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
12510 if (_ptr_attrvalmetadata2) {
12511 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
12512 } else {
12513 r->attrvalmetadata2 = NULL;
12515 break; }
12517 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
12518 uint32_t _ptr_neighbours02;
12519 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours02));
12520 if (_ptr_neighbours02) {
12521 NDR_PULL_ALLOC(ndr, r->neighbours02);
12522 } else {
12523 r->neighbours02 = NULL;
12525 break; }
12527 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12528 uint32_t _ptr_connections04;
12529 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connections04));
12530 if (_ptr_connections04) {
12531 NDR_PULL_ALLOC(ndr, r->connections04);
12532 } else {
12533 r->connections04 = NULL;
12535 break; }
12537 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12538 uint32_t _ptr_cursors05;
12539 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors05));
12540 if (_ptr_cursors05) {
12541 NDR_PULL_ALLOC(ndr, r->cursors05);
12542 } else {
12543 r->cursors05 = NULL;
12545 break; }
12547 case DRSUAPI_DS_REPLICA_INFO_06: {
12548 uint32_t _ptr_i06;
12549 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_i06));
12550 if (_ptr_i06) {
12551 NDR_PULL_ALLOC(ndr, r->i06);
12552 } else {
12553 r->i06 = NULL;
12555 break; }
12557 default:
12558 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12561 if (ndr_flags & NDR_BUFFERS) {
12562 switch (level) {
12563 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12564 if (r->neighbours) {
12565 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
12566 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
12567 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12568 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
12570 break;
12572 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12573 if (r->cursors) {
12574 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
12575 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
12576 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12577 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
12579 break;
12581 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12582 if (r->objmetadata) {
12583 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12584 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
12585 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
12588 break;
12590 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12591 if (r->connectfailures) {
12592 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12593 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
12594 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12595 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
12597 break;
12599 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12600 if (r->linkfailures) {
12601 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12602 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
12603 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12604 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
12606 break;
12608 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12609 if (r->pendingops) {
12610 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
12611 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
12612 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12613 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
12615 break;
12617 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12618 if (r->attrvalmetadata) {
12619 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12620 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
12621 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12622 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
12624 break;
12626 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12627 if (r->cursors2) {
12628 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12629 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
12630 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12631 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
12633 break;
12635 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12636 if (r->cursors3) {
12637 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12638 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
12639 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12640 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
12642 break;
12644 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12645 if (r->objmetadata2) {
12646 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12647 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
12648 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
12651 break;
12653 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12654 if (r->attrvalmetadata2) {
12655 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12656 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
12657 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12658 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
12660 break;
12662 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12663 if (r->neighbours02) {
12664 _mem_save_neighbours02_0 = NDR_PULL_GET_MEM_CTX(ndr);
12665 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours02, 0);
12666 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12667 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours02_0, 0);
12669 break;
12671 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12672 if (r->connections04) {
12673 _mem_save_connections04_0 = NDR_PULL_GET_MEM_CTX(ndr);
12674 NDR_PULL_SET_MEM_CTX(ndr, r->connections04, 0);
12675 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12676 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connections04_0, 0);
12678 break;
12680 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12681 if (r->cursors05) {
12682 _mem_save_cursors05_0 = NDR_PULL_GET_MEM_CTX(ndr);
12683 NDR_PULL_SET_MEM_CTX(ndr, r->cursors05, 0);
12684 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12685 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors05_0, 0);
12687 break;
12689 case DRSUAPI_DS_REPLICA_INFO_06:
12690 if (r->i06) {
12691 _mem_save_i06_0 = NDR_PULL_GET_MEM_CTX(ndr);
12692 NDR_PULL_SET_MEM_CTX(ndr, r->i06, 0);
12693 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12694 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_i06_0, 0);
12696 break;
12698 default:
12699 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12702 return NDR_ERR_SUCCESS;
12705 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
12707 int level;
12708 level = ndr_print_get_switch_value(ndr, r);
12709 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
12710 switch (level) {
12711 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12712 ndr_print_ptr(ndr, "neighbours", r->neighbours);
12713 ndr->depth++;
12714 if (r->neighbours) {
12715 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
12717 ndr->depth--;
12718 break;
12720 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12721 ndr_print_ptr(ndr, "cursors", r->cursors);
12722 ndr->depth++;
12723 if (r->cursors) {
12724 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
12726 ndr->depth--;
12727 break;
12729 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12730 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
12731 ndr->depth++;
12732 if (r->objmetadata) {
12733 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
12735 ndr->depth--;
12736 break;
12738 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12739 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
12740 ndr->depth++;
12741 if (r->connectfailures) {
12742 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
12744 ndr->depth--;
12745 break;
12747 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12748 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
12749 ndr->depth++;
12750 if (r->linkfailures) {
12751 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
12753 ndr->depth--;
12754 break;
12756 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12757 ndr_print_ptr(ndr, "pendingops", r->pendingops);
12758 ndr->depth++;
12759 if (r->pendingops) {
12760 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
12762 ndr->depth--;
12763 break;
12765 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12766 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
12767 ndr->depth++;
12768 if (r->attrvalmetadata) {
12769 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
12771 ndr->depth--;
12772 break;
12774 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12775 ndr_print_ptr(ndr, "cursors2", r->cursors2);
12776 ndr->depth++;
12777 if (r->cursors2) {
12778 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
12780 ndr->depth--;
12781 break;
12783 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12784 ndr_print_ptr(ndr, "cursors3", r->cursors3);
12785 ndr->depth++;
12786 if (r->cursors3) {
12787 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
12789 ndr->depth--;
12790 break;
12792 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12793 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
12794 ndr->depth++;
12795 if (r->objmetadata2) {
12796 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
12798 ndr->depth--;
12799 break;
12801 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12802 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12803 ndr->depth++;
12804 if (r->attrvalmetadata2) {
12805 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12807 ndr->depth--;
12808 break;
12810 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12811 ndr_print_ptr(ndr, "neighbours02", r->neighbours02);
12812 ndr->depth++;
12813 if (r->neighbours02) {
12814 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours02", r->neighbours02);
12816 ndr->depth--;
12817 break;
12819 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12820 ndr_print_ptr(ndr, "connections04", r->connections04);
12821 ndr->depth++;
12822 if (r->connections04) {
12823 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "connections04", r->connections04);
12825 ndr->depth--;
12826 break;
12828 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12829 ndr_print_ptr(ndr, "cursors05", r->cursors05);
12830 ndr->depth++;
12831 if (r->cursors05) {
12832 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "cursors05", r->cursors05);
12834 ndr->depth--;
12835 break;
12837 case DRSUAPI_DS_REPLICA_INFO_06:
12838 ndr_print_ptr(ndr, "i06", r->i06);
12839 ndr->depth++;
12840 if (r->i06) {
12841 ndr_print_drsuapi_DsReplica06Ctr(ndr, "i06", r->i06);
12843 ndr->depth--;
12844 break;
12846 default:
12847 ndr_print_bad_level(ndr, name, level);
12851 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
12853 if (ndr_flags & NDR_SCALARS) {
12854 int level = ndr_push_get_switch_value(ndr, r);
12855 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12856 NDR_CHECK(ndr_push_union_align(ndr, 5));
12857 switch (level) {
12858 case 1: {
12859 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12860 break; }
12862 default:
12863 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12866 if (ndr_flags & NDR_BUFFERS) {
12867 int level = ndr_push_get_switch_value(ndr, r);
12868 switch (level) {
12869 case 1:
12870 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12871 break;
12873 default:
12874 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12877 return NDR_ERR_SUCCESS;
12880 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
12882 int level;
12883 int32_t _level;
12884 level = ndr_pull_get_switch_value(ndr, r);
12885 if (ndr_flags & NDR_SCALARS) {
12886 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12887 if (_level != level) {
12888 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12890 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12891 switch (level) {
12892 case 1: {
12893 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12894 break; }
12896 default:
12897 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12900 if (ndr_flags & NDR_BUFFERS) {
12901 switch (level) {
12902 case 1:
12903 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12904 break;
12906 default:
12907 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12910 return NDR_ERR_SUCCESS;
12913 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
12915 int level;
12916 level = ndr_print_get_switch_value(ndr, r);
12917 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
12918 switch (level) {
12919 case 1:
12920 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
12921 break;
12923 default:
12924 ndr_print_bad_level(ndr, name, level);
12928 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
12930 uint32_t cntr_req_array_1;
12931 if (ndr_flags & NDR_SCALARS) {
12932 NDR_CHECK(ndr_push_align(ndr, 5));
12933 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12934 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
12935 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12937 if (ndr_flags & NDR_BUFFERS) {
12938 if (r->req_array) {
12939 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
12940 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12941 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
12943 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12944 if (r->req_array[cntr_req_array_1]) {
12945 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12950 return NDR_ERR_SUCCESS;
12953 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
12955 uint32_t _ptr_req_array;
12956 uint32_t cntr_req_array_1;
12957 TALLOC_CTX *_mem_save_req_array_0;
12958 TALLOC_CTX *_mem_save_req_array_1;
12959 TALLOC_CTX *_mem_save_req_array_2;
12960 if (ndr_flags & NDR_SCALARS) {
12961 NDR_CHECK(ndr_pull_align(ndr, 5));
12962 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12963 if (r->num_req < 1 || r->num_req > 10000) {
12964 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12966 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12967 if (_ptr_req_array) {
12968 NDR_PULL_ALLOC(ndr, r->req_array);
12969 } else {
12970 r->req_array = NULL;
12972 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12974 if (ndr_flags & NDR_BUFFERS) {
12975 if (r->req_array) {
12976 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12977 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12978 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
12979 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
12980 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12981 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12982 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12983 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12984 if (_ptr_req_array) {
12985 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
12986 } else {
12987 r->req_array[cntr_req_array_1] = NULL;
12990 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12991 if (r->req_array[cntr_req_array_1]) {
12992 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
12993 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
12994 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12995 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
12998 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
12999 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
13001 if (r->req_array) {
13002 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
13005 return NDR_ERR_SUCCESS;
13008 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
13010 uint32_t cntr_req_array_1;
13011 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
13012 ndr->depth++;
13013 ndr_print_uint32(ndr, "num_req", r->num_req);
13014 ndr_print_ptr(ndr, "req_array", r->req_array);
13015 ndr->depth++;
13016 if (r->req_array) {
13017 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
13018 ndr->depth++;
13019 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
13020 char *idx_1=NULL;
13021 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
13022 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
13023 ndr->depth++;
13024 if (r->req_array[cntr_req_array_1]) {
13025 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
13027 ndr->depth--;
13028 free(idx_1);
13031 ndr->depth--;
13033 ndr->depth--;
13034 ndr->depth--;
13037 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
13039 if (ndr_flags & NDR_SCALARS) {
13040 int level = ndr_push_get_switch_value(ndr, r);
13041 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13042 NDR_CHECK(ndr_push_union_align(ndr, 5));
13043 switch (level) {
13044 case 1: {
13045 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
13046 break; }
13048 default:
13049 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13052 if (ndr_flags & NDR_BUFFERS) {
13053 int level = ndr_push_get_switch_value(ndr, r);
13054 switch (level) {
13055 case 1:
13056 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
13057 break;
13059 default:
13060 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13063 return NDR_ERR_SUCCESS;
13066 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
13068 int level;
13069 int32_t _level;
13070 level = ndr_pull_get_switch_value(ndr, r);
13071 if (ndr_flags & NDR_SCALARS) {
13072 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13073 if (_level != level) {
13074 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13076 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13077 switch (level) {
13078 case 1: {
13079 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
13080 break; }
13082 default:
13083 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13086 if (ndr_flags & NDR_BUFFERS) {
13087 switch (level) {
13088 case 1:
13089 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
13090 break;
13092 default:
13093 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13096 return NDR_ERR_SUCCESS;
13099 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
13101 int level;
13102 level = ndr_print_get_switch_value(ndr, r);
13103 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
13104 switch (level) {
13105 case 1:
13106 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
13107 break;
13109 default:
13110 ndr_print_bad_level(ndr, name, level);
13114 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
13116 if (ndr_flags & NDR_SCALARS) {
13117 NDR_CHECK(ndr_push_align(ndr, 4));
13118 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
13119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
13120 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
13122 if (ndr_flags & NDR_BUFFERS) {
13124 return NDR_ERR_SUCCESS;
13127 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
13129 if (ndr_flags & NDR_SCALARS) {
13130 NDR_CHECK(ndr_pull_align(ndr, 4));
13131 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
13132 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
13133 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
13135 if (ndr_flags & NDR_BUFFERS) {
13137 return NDR_ERR_SUCCESS;
13140 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
13142 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
13143 ndr->depth++;
13144 ndr_print_WERROR(ndr, "error_code", r->error_code);
13145 ndr_print_uint32(ndr, "site_cost", r->site_cost);
13146 ndr->depth--;
13149 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
13151 uint32_t cntr_info_1;
13152 if (ndr_flags & NDR_SCALARS) {
13153 NDR_CHECK(ndr_push_align(ndr, 5));
13154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
13155 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
13156 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
13157 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13159 if (ndr_flags & NDR_BUFFERS) {
13160 if (r->info) {
13161 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
13162 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13163 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13167 return NDR_ERR_SUCCESS;
13170 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
13172 uint32_t _ptr_info;
13173 uint32_t cntr_info_1;
13174 TALLOC_CTX *_mem_save_info_0;
13175 TALLOC_CTX *_mem_save_info_1;
13176 if (ndr_flags & NDR_SCALARS) {
13177 NDR_CHECK(ndr_pull_align(ndr, 5));
13178 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
13179 if (r->num_info > 10000) {
13180 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13182 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13183 if (_ptr_info) {
13184 NDR_PULL_ALLOC(ndr, r->info);
13185 } else {
13186 r->info = NULL;
13188 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
13189 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13191 if (ndr_flags & NDR_BUFFERS) {
13192 if (r->info) {
13193 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13194 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13195 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
13196 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
13197 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13198 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13199 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13200 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13202 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13203 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
13205 if (r->info) {
13206 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
13209 return NDR_ERR_SUCCESS;
13212 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
13214 uint32_t cntr_info_1;
13215 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
13216 ndr->depth++;
13217 ndr_print_uint32(ndr, "num_info", r->num_info);
13218 ndr_print_ptr(ndr, "info", r->info);
13219 ndr->depth++;
13220 if (r->info) {
13221 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
13222 ndr->depth++;
13223 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
13224 char *idx_1=NULL;
13225 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
13226 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
13227 free(idx_1);
13230 ndr->depth--;
13232 ndr->depth--;
13233 ndr_print_uint32(ndr, "unknown", r->unknown);
13234 ndr->depth--;
13237 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
13239 if (ndr_flags & NDR_SCALARS) {
13240 int level = ndr_push_get_switch_value(ndr, r);
13241 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13242 NDR_CHECK(ndr_push_union_align(ndr, 5));
13243 switch (level) {
13244 case 1: {
13245 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13246 break; }
13248 default:
13249 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13252 if (ndr_flags & NDR_BUFFERS) {
13253 int level = ndr_push_get_switch_value(ndr, r);
13254 switch (level) {
13255 case 1:
13256 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13257 break;
13259 default:
13260 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13263 return NDR_ERR_SUCCESS;
13266 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
13268 int level;
13269 int32_t _level;
13270 level = ndr_pull_get_switch_value(ndr, r);
13271 if (ndr_flags & NDR_SCALARS) {
13272 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13273 if (_level != level) {
13274 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13276 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13277 switch (level) {
13278 case 1: {
13279 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13280 break; }
13282 default:
13283 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13286 if (ndr_flags & NDR_BUFFERS) {
13287 switch (level) {
13288 case 1:
13289 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13290 break;
13292 default:
13293 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13296 return NDR_ERR_SUCCESS;
13299 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
13301 int level;
13302 level = ndr_print_get_switch_value(ndr, r);
13303 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
13304 switch (level) {
13305 case 1:
13306 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
13307 break;
13309 default:
13310 ndr_print_bad_level(ndr, name, level);
13314 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
13316 uint32_t cntr_site_to_1;
13317 if (ndr_flags & NDR_SCALARS) {
13318 NDR_CHECK(ndr_push_align(ndr, 5));
13319 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
13320 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
13321 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
13322 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
13323 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13325 if (ndr_flags & NDR_BUFFERS) {
13326 if (r->site_from) {
13327 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13328 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13329 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13330 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13332 if (r->site_to) {
13333 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13334 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13335 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
13337 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13338 if (r->site_to[cntr_site_to_1]) {
13339 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13340 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13341 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13342 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_to[cntr_site_to_1], ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16), sizeof(uint16_t), CH_UTF16));
13347 return NDR_ERR_SUCCESS;
13350 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
13352 uint32_t _ptr_site_from;
13353 TALLOC_CTX *_mem_save_site_from_0;
13354 uint32_t _ptr_site_to;
13355 uint32_t cntr_site_to_1;
13356 TALLOC_CTX *_mem_save_site_to_0;
13357 TALLOC_CTX *_mem_save_site_to_1;
13358 TALLOC_CTX *_mem_save_site_to_2;
13359 if (ndr_flags & NDR_SCALARS) {
13360 NDR_CHECK(ndr_pull_align(ndr, 5));
13361 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
13362 if (_ptr_site_from) {
13363 NDR_PULL_ALLOC(ndr, r->site_from);
13364 } else {
13365 r->site_from = NULL;
13367 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13368 if (r->num_req < 1 || r->num_req > 10000) {
13369 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13371 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13372 if (_ptr_site_to) {
13373 NDR_PULL_ALLOC(ndr, r->site_to);
13374 } else {
13375 r->site_to = NULL;
13377 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
13378 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13380 if (ndr_flags & NDR_BUFFERS) {
13381 if (r->site_from) {
13382 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
13383 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
13384 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
13385 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
13386 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
13387 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_from), ndr_get_array_length(ndr, &r->site_from));
13389 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
13390 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
13391 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
13393 if (r->site_to) {
13394 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
13395 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13396 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
13397 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
13398 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
13399 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13400 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13401 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13402 if (_ptr_site_to) {
13403 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
13404 } else {
13405 r->site_to[cntr_site_to_1] = NULL;
13408 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13409 if (r->site_to[cntr_site_to_1]) {
13410 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
13411 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
13412 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
13413 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
13414 if (ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]) > ndr_get_array_size(ndr, &r->site_to[cntr_site_to_1])) {
13415 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_to[cntr_site_to_1]), ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]));
13417 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
13418 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_to[cntr_site_to_1], ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t), CH_UTF16));
13419 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
13422 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
13423 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
13425 if (r->site_to) {
13426 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
13429 return NDR_ERR_SUCCESS;
13432 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
13434 uint32_t cntr_site_to_1;
13435 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
13436 ndr->depth++;
13437 ndr_print_ptr(ndr, "site_from", r->site_from);
13438 ndr->depth++;
13439 if (r->site_from) {
13440 ndr_print_string(ndr, "site_from", r->site_from);
13442 ndr->depth--;
13443 ndr_print_uint32(ndr, "num_req", r->num_req);
13444 ndr_print_ptr(ndr, "site_to", r->site_to);
13445 ndr->depth++;
13446 if (r->site_to) {
13447 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
13448 ndr->depth++;
13449 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
13450 char *idx_1=NULL;
13451 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
13452 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
13453 ndr->depth++;
13454 if (r->site_to[cntr_site_to_1]) {
13455 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
13457 ndr->depth--;
13458 free(idx_1);
13461 ndr->depth--;
13463 ndr->depth--;
13464 ndr_print_uint32(ndr, "flags", r->flags);
13465 ndr->depth--;
13468 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
13470 if (ndr_flags & NDR_SCALARS) {
13471 int level = ndr_push_get_switch_value(ndr, r);
13472 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13473 NDR_CHECK(ndr_push_union_align(ndr, 5));
13474 switch (level) {
13475 case 1: {
13476 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13477 break; }
13479 default:
13480 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13483 if (ndr_flags & NDR_BUFFERS) {
13484 int level = ndr_push_get_switch_value(ndr, r);
13485 switch (level) {
13486 case 1:
13487 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13488 break;
13490 default:
13491 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13494 return NDR_ERR_SUCCESS;
13497 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
13499 int level;
13500 int32_t _level;
13501 level = ndr_pull_get_switch_value(ndr, r);
13502 if (ndr_flags & NDR_SCALARS) {
13503 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13504 if (_level != level) {
13505 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13507 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13508 switch (level) {
13509 case 1: {
13510 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13511 break; }
13513 default:
13514 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13517 if (ndr_flags & NDR_BUFFERS) {
13518 switch (level) {
13519 case 1:
13520 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13521 break;
13523 default:
13524 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13527 return NDR_ERR_SUCCESS;
13530 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
13532 int level;
13533 level = ndr_print_get_switch_value(ndr, r);
13534 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
13535 switch (level) {
13536 case 1:
13537 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
13538 break;
13540 default:
13541 ndr_print_bad_level(ndr, name, level);
13545 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
13547 if (flags & NDR_IN) {
13548 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
13549 if (r->in.bind_guid) {
13550 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13552 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
13553 if (r->in.bind_info) {
13554 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13557 if (flags & NDR_OUT) {
13558 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
13559 if (r->out.bind_info) {
13560 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13562 if (r->out.bind_handle == NULL) {
13563 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13565 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13566 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13568 return NDR_ERR_SUCCESS;
13571 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
13573 uint32_t _ptr_bind_guid;
13574 uint32_t _ptr_bind_info;
13575 TALLOC_CTX *_mem_save_bind_guid_0;
13576 TALLOC_CTX *_mem_save_bind_info_0;
13577 TALLOC_CTX *_mem_save_bind_handle_0;
13578 if (flags & NDR_IN) {
13579 ZERO_STRUCT(r->out);
13581 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
13582 if (_ptr_bind_guid) {
13583 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
13584 } else {
13585 r->in.bind_guid = NULL;
13587 if (r->in.bind_guid) {
13588 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13589 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
13590 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13591 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
13593 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13594 if (_ptr_bind_info) {
13595 NDR_PULL_ALLOC(ndr, r->in.bind_info);
13596 } else {
13597 r->in.bind_info = NULL;
13599 if (r->in.bind_info) {
13600 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13601 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
13602 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13603 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13605 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13606 ZERO_STRUCTP(r->out.bind_handle);
13608 if (flags & NDR_OUT) {
13609 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13610 if (_ptr_bind_info) {
13611 NDR_PULL_ALLOC(ndr, r->out.bind_info);
13612 } else {
13613 r->out.bind_info = NULL;
13615 if (r->out.bind_info) {
13616 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13617 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
13618 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13621 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13622 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13624 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13625 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13626 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13627 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13628 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13630 return NDR_ERR_SUCCESS;
13633 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
13635 ndr_print_struct(ndr, name, "drsuapi_DsBind");
13636 ndr->depth++;
13637 if (flags & NDR_SET_VALUES) {
13638 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13640 if (flags & NDR_IN) {
13641 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
13642 ndr->depth++;
13643 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
13644 ndr->depth++;
13645 if (r->in.bind_guid) {
13646 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
13648 ndr->depth--;
13649 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
13650 ndr->depth++;
13651 if (r->in.bind_info) {
13652 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
13654 ndr->depth--;
13655 ndr->depth--;
13657 if (flags & NDR_OUT) {
13658 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
13659 ndr->depth++;
13660 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
13661 ndr->depth++;
13662 if (r->out.bind_info) {
13663 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
13665 ndr->depth--;
13666 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13667 ndr->depth++;
13668 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13669 ndr->depth--;
13670 ndr_print_WERROR(ndr, "result", r->out.result);
13671 ndr->depth--;
13673 ndr->depth--;
13676 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
13678 if (flags & NDR_IN) {
13679 if (r->in.bind_handle == NULL) {
13680 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13682 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13684 if (flags & NDR_OUT) {
13685 if (r->out.bind_handle == NULL) {
13686 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13688 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13689 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13691 return NDR_ERR_SUCCESS;
13694 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
13696 TALLOC_CTX *_mem_save_bind_handle_0;
13697 if (flags & NDR_IN) {
13698 ZERO_STRUCT(r->out);
13700 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13701 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13703 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13704 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13705 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13706 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13707 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13708 *r->out.bind_handle = *r->in.bind_handle;
13710 if (flags & NDR_OUT) {
13711 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13712 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13714 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13715 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13716 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13717 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13718 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13720 return NDR_ERR_SUCCESS;
13723 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
13725 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
13726 ndr->depth++;
13727 if (flags & NDR_SET_VALUES) {
13728 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13730 if (flags & NDR_IN) {
13731 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
13732 ndr->depth++;
13733 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13734 ndr->depth++;
13735 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13736 ndr->depth--;
13737 ndr->depth--;
13739 if (flags & NDR_OUT) {
13740 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
13741 ndr->depth++;
13742 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13743 ndr->depth++;
13744 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13745 ndr->depth--;
13746 ndr_print_WERROR(ndr, "result", r->out.result);
13747 ndr->depth--;
13749 ndr->depth--;
13752 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
13754 if (flags & NDR_IN) {
13755 if (r->in.bind_handle == NULL) {
13756 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13758 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13759 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13760 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13761 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13763 if (flags & NDR_OUT) {
13764 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13766 return NDR_ERR_SUCCESS;
13769 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
13771 TALLOC_CTX *_mem_save_bind_handle_0;
13772 if (flags & NDR_IN) {
13773 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13774 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13776 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13777 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13778 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13780 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13781 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13782 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13784 if (flags & NDR_OUT) {
13785 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13787 return NDR_ERR_SUCCESS;
13790 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
13792 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
13793 ndr->depth++;
13794 if (flags & NDR_SET_VALUES) {
13795 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13797 if (flags & NDR_IN) {
13798 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
13799 ndr->depth++;
13800 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13801 ndr->depth++;
13802 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13803 ndr->depth--;
13804 ndr_print_int32(ndr, "level", r->in.level);
13805 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13806 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", &r->in.req);
13807 ndr->depth--;
13809 if (flags & NDR_OUT) {
13810 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
13811 ndr->depth++;
13812 ndr_print_WERROR(ndr, "result", r->out.result);
13813 ndr->depth--;
13815 ndr->depth--;
13818 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
13820 if (flags & NDR_IN) {
13821 if (r->in.bind_handle == NULL) {
13822 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13824 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13825 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13826 if (r->in.req == NULL) {
13827 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13829 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13830 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13832 if (flags & NDR_OUT) {
13833 if (r->out.level_out == NULL) {
13834 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13836 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13837 if (r->out.ctr == NULL) {
13838 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13840 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13841 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13842 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13844 return NDR_ERR_SUCCESS;
13847 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
13849 TALLOC_CTX *_mem_save_bind_handle_0;
13850 TALLOC_CTX *_mem_save_req_0;
13851 TALLOC_CTX *_mem_save_level_out_0;
13852 TALLOC_CTX *_mem_save_ctr_0;
13853 if (flags & NDR_IN) {
13854 ZERO_STRUCT(r->out);
13856 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13857 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13859 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13860 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13861 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13862 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13863 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13864 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13865 NDR_PULL_ALLOC(ndr, r->in.req);
13867 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13868 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13869 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13870 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13871 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13872 NDR_PULL_ALLOC(ndr, r->out.level_out);
13873 ZERO_STRUCTP(r->out.level_out);
13874 NDR_PULL_ALLOC(ndr, r->out.ctr);
13875 ZERO_STRUCTP(r->out.ctr);
13877 if (flags & NDR_OUT) {
13878 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13879 NDR_PULL_ALLOC(ndr, r->out.level_out);
13881 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13882 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13883 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13884 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13885 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13886 NDR_PULL_ALLOC(ndr, r->out.ctr);
13888 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13889 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13890 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13891 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13892 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13893 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13895 return NDR_ERR_SUCCESS;
13898 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
13900 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
13901 ndr->depth++;
13902 if (flags & NDR_SET_VALUES) {
13903 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13905 if (flags & NDR_IN) {
13906 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
13907 ndr->depth++;
13908 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13909 ndr->depth++;
13910 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13911 ndr->depth--;
13912 ndr_print_int32(ndr, "level", r->in.level);
13913 ndr_print_ptr(ndr, "req", r->in.req);
13914 ndr->depth++;
13915 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13916 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
13917 ndr->depth--;
13918 ndr->depth--;
13920 if (flags & NDR_OUT) {
13921 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
13922 ndr->depth++;
13923 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13924 ndr->depth++;
13925 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13926 ndr->depth--;
13927 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13928 ndr->depth++;
13929 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13930 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
13931 ndr->depth--;
13932 ndr_print_WERROR(ndr, "result", r->out.result);
13933 ndr->depth--;
13935 ndr->depth--;
13938 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13940 if (flags & NDR_IN) {
13941 if (r->in.bind_handle == NULL) {
13942 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13944 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13945 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13946 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13947 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13949 if (flags & NDR_OUT) {
13950 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13952 return NDR_ERR_SUCCESS;
13955 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
13957 TALLOC_CTX *_mem_save_bind_handle_0;
13958 if (flags & NDR_IN) {
13959 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13960 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13962 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13963 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13964 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13965 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13966 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13967 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13968 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13970 if (flags & NDR_OUT) {
13971 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13973 return NDR_ERR_SUCCESS;
13976 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13978 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
13979 ndr->depth++;
13980 if (flags & NDR_SET_VALUES) {
13981 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13983 if (flags & NDR_IN) {
13984 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
13985 ndr->depth++;
13986 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13987 ndr->depth++;
13988 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13989 ndr->depth--;
13990 ndr_print_int32(ndr, "level", r->in.level);
13991 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13992 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
13993 ndr->depth--;
13995 if (flags & NDR_OUT) {
13996 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
13997 ndr->depth++;
13998 ndr_print_WERROR(ndr, "result", r->out.result);
13999 ndr->depth--;
14001 ndr->depth--;
14004 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
14006 if (flags & NDR_IN) {
14007 if (r->in.bind_handle == NULL) {
14008 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14010 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14011 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14012 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14013 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14015 if (flags & NDR_OUT) {
14016 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14018 return NDR_ERR_SUCCESS;
14021 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
14023 TALLOC_CTX *_mem_save_bind_handle_0;
14024 if (flags & NDR_IN) {
14025 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14026 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14028 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14029 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14030 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14031 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14032 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14033 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14034 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14036 if (flags & NDR_OUT) {
14037 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14039 return NDR_ERR_SUCCESS;
14042 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
14044 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
14045 ndr->depth++;
14046 if (flags & NDR_SET_VALUES) {
14047 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14049 if (flags & NDR_IN) {
14050 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
14051 ndr->depth++;
14052 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14053 ndr->depth++;
14054 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14055 ndr->depth--;
14056 ndr_print_int32(ndr, "level", r->in.level);
14057 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14058 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
14059 ndr->depth--;
14061 if (flags & NDR_OUT) {
14062 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
14063 ndr->depth++;
14064 ndr_print_WERROR(ndr, "result", r->out.result);
14065 ndr->depth--;
14067 ndr->depth--;
14070 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
14072 if (flags & NDR_IN) {
14073 if (r->in.bind_handle == NULL) {
14074 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14076 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14077 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14078 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14079 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14081 if (flags & NDR_OUT) {
14082 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14084 return NDR_ERR_SUCCESS;
14087 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
14089 TALLOC_CTX *_mem_save_bind_handle_0;
14090 if (flags & NDR_IN) {
14091 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14092 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14094 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14095 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14096 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14098 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14099 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14100 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14102 if (flags & NDR_OUT) {
14103 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14105 return NDR_ERR_SUCCESS;
14108 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
14110 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
14111 ndr->depth++;
14112 if (flags & NDR_SET_VALUES) {
14113 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14115 if (flags & NDR_IN) {
14116 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
14117 ndr->depth++;
14118 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14119 ndr->depth++;
14120 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14121 ndr->depth--;
14122 ndr_print_int32(ndr, "level", r->in.level);
14123 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14124 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
14125 ndr->depth--;
14127 if (flags & NDR_OUT) {
14128 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
14129 ndr->depth++;
14130 ndr_print_WERROR(ndr, "result", r->out.result);
14131 ndr->depth--;
14133 ndr->depth--;
14136 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
14138 if (flags & NDR_IN) {
14139 if (r->in.bind_handle == NULL) {
14140 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14142 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14143 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14144 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14145 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14147 if (flags & NDR_OUT) {
14148 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14150 return NDR_ERR_SUCCESS;
14153 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
14155 TALLOC_CTX *_mem_save_bind_handle_0;
14156 if (flags & NDR_IN) {
14157 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14158 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14160 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14161 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14162 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14163 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14164 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14165 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14166 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14168 if (flags & NDR_OUT) {
14169 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14171 return NDR_ERR_SUCCESS;
14174 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
14176 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
14177 ndr->depth++;
14178 if (flags & NDR_SET_VALUES) {
14179 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14181 if (flags & NDR_IN) {
14182 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
14183 ndr->depth++;
14184 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14185 ndr->depth++;
14186 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14187 ndr->depth--;
14188 ndr_print_int32(ndr, "level", r->in.level);
14189 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14190 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
14191 ndr->depth--;
14193 if (flags & NDR_OUT) {
14194 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
14195 ndr->depth++;
14196 ndr_print_WERROR(ndr, "result", r->out.result);
14197 ndr->depth--;
14199 ndr->depth--;
14202 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14204 if (flags & NDR_IN) {
14206 if (flags & NDR_OUT) {
14207 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14209 return NDR_ERR_SUCCESS;
14212 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
14214 if (flags & NDR_IN) {
14216 if (flags & NDR_OUT) {
14217 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14219 return NDR_ERR_SUCCESS;
14222 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14224 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
14225 ndr->depth++;
14226 if (flags & NDR_SET_VALUES) {
14227 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14229 if (flags & NDR_IN) {
14230 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
14231 ndr->depth++;
14232 ndr->depth--;
14234 if (flags & NDR_OUT) {
14235 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
14236 ndr->depth++;
14237 ndr_print_WERROR(ndr, "result", r->out.result);
14238 ndr->depth--;
14240 ndr->depth--;
14243 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
14245 if (flags & NDR_IN) {
14246 if (r->in.bind_handle == NULL) {
14247 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14249 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14250 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14251 if (r->in.req == NULL) {
14252 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14254 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14255 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14257 if (flags & NDR_OUT) {
14258 if (r->out.level_out == NULL) {
14259 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14261 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14262 if (r->out.ctr == NULL) {
14263 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14265 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14266 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14267 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14269 return NDR_ERR_SUCCESS;
14272 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
14274 TALLOC_CTX *_mem_save_bind_handle_0;
14275 TALLOC_CTX *_mem_save_req_0;
14276 TALLOC_CTX *_mem_save_level_out_0;
14277 TALLOC_CTX *_mem_save_ctr_0;
14278 if (flags & NDR_IN) {
14279 ZERO_STRUCT(r->out);
14281 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14282 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14284 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14285 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14286 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14288 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14289 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14290 NDR_PULL_ALLOC(ndr, r->in.req);
14292 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14293 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14294 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14295 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14297 NDR_PULL_ALLOC(ndr, r->out.level_out);
14298 ZERO_STRUCTP(r->out.level_out);
14299 NDR_PULL_ALLOC(ndr, r->out.ctr);
14300 ZERO_STRUCTP(r->out.ctr);
14302 if (flags & NDR_OUT) {
14303 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14304 NDR_PULL_ALLOC(ndr, r->out.level_out);
14306 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14307 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14308 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14309 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14310 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14311 NDR_PULL_ALLOC(ndr, r->out.ctr);
14313 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14314 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14315 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14316 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14318 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14320 return NDR_ERR_SUCCESS;
14323 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
14325 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
14326 ndr->depth++;
14327 if (flags & NDR_SET_VALUES) {
14328 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14330 if (flags & NDR_IN) {
14331 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
14332 ndr->depth++;
14333 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14334 ndr->depth++;
14335 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14336 ndr->depth--;
14337 ndr_print_int32(ndr, "level", r->in.level);
14338 ndr_print_ptr(ndr, "req", r->in.req);
14339 ndr->depth++;
14340 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14341 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
14342 ndr->depth--;
14343 ndr->depth--;
14345 if (flags & NDR_OUT) {
14346 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
14347 ndr->depth++;
14348 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14349 ndr->depth++;
14350 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14351 ndr->depth--;
14352 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14353 ndr->depth++;
14354 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14355 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
14356 ndr->depth--;
14357 ndr_print_WERROR(ndr, "result", r->out.result);
14358 ndr->depth--;
14360 ndr->depth--;
14363 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14365 if (flags & NDR_IN) {
14367 if (flags & NDR_OUT) {
14368 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14370 return NDR_ERR_SUCCESS;
14373 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14375 if (flags & NDR_IN) {
14377 if (flags & NDR_OUT) {
14378 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14380 return NDR_ERR_SUCCESS;
14383 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14385 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
14386 ndr->depth++;
14387 if (flags & NDR_SET_VALUES) {
14388 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14390 if (flags & NDR_IN) {
14391 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14392 ndr->depth++;
14393 ndr->depth--;
14395 if (flags & NDR_OUT) {
14396 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14397 ndr->depth++;
14398 ndr_print_WERROR(ndr, "result", r->out.result);
14399 ndr->depth--;
14401 ndr->depth--;
14404 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14406 if (flags & NDR_IN) {
14407 if (r->in.bind_handle == NULL) {
14408 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14410 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14411 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14412 if (r->in.req == NULL) {
14413 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14415 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14416 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14418 if (flags & NDR_OUT) {
14419 if (r->out.level_out == NULL) {
14420 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14423 if (r->out.info == NULL) {
14424 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14426 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
14427 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14428 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14430 return NDR_ERR_SUCCESS;
14433 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
14435 TALLOC_CTX *_mem_save_bind_handle_0;
14436 TALLOC_CTX *_mem_save_req_0;
14437 TALLOC_CTX *_mem_save_level_out_0;
14438 TALLOC_CTX *_mem_save_info_0;
14439 if (flags & NDR_IN) {
14440 ZERO_STRUCT(r->out);
14442 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14443 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14445 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14446 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14447 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14448 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14449 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14450 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14451 NDR_PULL_ALLOC(ndr, r->in.req);
14453 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14454 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14455 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14456 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14457 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14458 NDR_PULL_ALLOC(ndr, r->out.level_out);
14459 ZERO_STRUCTP(r->out.level_out);
14460 NDR_PULL_ALLOC(ndr, r->out.info);
14461 ZERO_STRUCTP(r->out.info);
14463 if (flags & NDR_OUT) {
14464 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14465 NDR_PULL_ALLOC(ndr, r->out.level_out);
14467 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14468 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14469 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14471 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14472 NDR_PULL_ALLOC(ndr, r->out.info);
14474 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14475 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14476 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
14477 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14478 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14479 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14481 return NDR_ERR_SUCCESS;
14484 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14486 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
14487 ndr->depth++;
14488 if (flags & NDR_SET_VALUES) {
14489 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14491 if (flags & NDR_IN) {
14492 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
14493 ndr->depth++;
14494 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14495 ndr->depth++;
14496 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14497 ndr->depth--;
14498 ndr_print_uint32(ndr, "level", r->in.level);
14499 ndr_print_ptr(ndr, "req", r->in.req);
14500 ndr->depth++;
14501 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14502 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
14503 ndr->depth--;
14504 ndr->depth--;
14506 if (flags & NDR_OUT) {
14507 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
14508 ndr->depth++;
14509 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14510 ndr->depth++;
14511 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14512 ndr->depth--;
14513 ndr_print_ptr(ndr, "info", r->out.info);
14514 ndr->depth++;
14515 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
14516 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
14517 ndr->depth--;
14518 ndr_print_WERROR(ndr, "result", r->out.result);
14519 ndr->depth--;
14521 ndr->depth--;
14524 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
14526 if (flags & NDR_IN) {
14527 if (r->in.bind_handle == NULL) {
14528 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14530 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14531 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14532 if (r->in.req == NULL) {
14533 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14535 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14536 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14538 if (flags & NDR_OUT) {
14539 if (r->out.level_out == NULL) {
14540 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14542 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14543 if (r->out.ctr == NULL) {
14544 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14546 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14547 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14548 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14550 return NDR_ERR_SUCCESS;
14553 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
14555 TALLOC_CTX *_mem_save_bind_handle_0;
14556 TALLOC_CTX *_mem_save_req_0;
14557 TALLOC_CTX *_mem_save_level_out_0;
14558 TALLOC_CTX *_mem_save_ctr_0;
14559 if (flags & NDR_IN) {
14560 ZERO_STRUCT(r->out);
14562 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14563 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14565 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14566 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14567 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14568 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14569 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14570 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14571 NDR_PULL_ALLOC(ndr, r->in.req);
14573 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14574 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14575 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14576 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14577 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14578 NDR_PULL_ALLOC(ndr, r->out.level_out);
14579 ZERO_STRUCTP(r->out.level_out);
14580 NDR_PULL_ALLOC(ndr, r->out.ctr);
14581 ZERO_STRUCTP(r->out.ctr);
14583 if (flags & NDR_OUT) {
14584 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14585 NDR_PULL_ALLOC(ndr, r->out.level_out);
14587 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14588 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14589 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14590 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14591 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14592 NDR_PULL_ALLOC(ndr, r->out.ctr);
14594 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14595 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14596 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14597 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14598 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14599 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14601 return NDR_ERR_SUCCESS;
14604 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
14606 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
14607 ndr->depth++;
14608 if (flags & NDR_SET_VALUES) {
14609 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14611 if (flags & NDR_IN) {
14612 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
14613 ndr->depth++;
14614 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14615 ndr->depth++;
14616 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14617 ndr->depth--;
14618 ndr_print_int32(ndr, "level", r->in.level);
14619 ndr_print_ptr(ndr, "req", r->in.req);
14620 ndr->depth++;
14621 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14622 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
14623 ndr->depth--;
14624 ndr->depth--;
14626 if (flags & NDR_OUT) {
14627 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
14628 ndr->depth++;
14629 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14630 ndr->depth++;
14631 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14632 ndr->depth--;
14633 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14634 ndr->depth++;
14635 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14636 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
14637 ndr->depth--;
14638 ndr_print_WERROR(ndr, "result", r->out.result);
14639 ndr->depth--;
14641 ndr->depth--;
14644 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14646 if (flags & NDR_IN) {
14647 if (r->in.bind_handle == NULL) {
14648 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14650 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14651 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14652 if (r->in.req == NULL) {
14653 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14655 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14656 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14658 if (flags & NDR_OUT) {
14659 if (r->out.level_out == NULL) {
14660 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14662 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14663 if (r->out.res == NULL) {
14664 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14666 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14667 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14668 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14670 return NDR_ERR_SUCCESS;
14673 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
14675 TALLOC_CTX *_mem_save_bind_handle_0;
14676 TALLOC_CTX *_mem_save_req_0;
14677 TALLOC_CTX *_mem_save_level_out_0;
14678 TALLOC_CTX *_mem_save_res_0;
14679 if (flags & NDR_IN) {
14680 ZERO_STRUCT(r->out);
14682 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14683 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14685 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14686 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14687 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14688 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14689 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14690 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14691 NDR_PULL_ALLOC(ndr, r->in.req);
14693 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14694 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14695 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14696 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14697 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14698 NDR_PULL_ALLOC(ndr, r->out.level_out);
14699 ZERO_STRUCTP(r->out.level_out);
14700 NDR_PULL_ALLOC(ndr, r->out.res);
14701 ZERO_STRUCTP(r->out.res);
14703 if (flags & NDR_OUT) {
14704 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14705 NDR_PULL_ALLOC(ndr, r->out.level_out);
14707 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14708 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14709 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14710 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14711 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14712 NDR_PULL_ALLOC(ndr, r->out.res);
14714 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14715 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14716 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14717 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14718 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14719 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14721 return NDR_ERR_SUCCESS;
14724 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14726 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
14727 ndr->depth++;
14728 if (flags & NDR_SET_VALUES) {
14729 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14731 if (flags & NDR_IN) {
14732 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
14733 ndr->depth++;
14734 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14735 ndr->depth++;
14736 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14737 ndr->depth--;
14738 ndr_print_int32(ndr, "level", r->in.level);
14739 ndr_print_ptr(ndr, "req", r->in.req);
14740 ndr->depth++;
14741 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14742 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
14743 ndr->depth--;
14744 ndr->depth--;
14746 if (flags & NDR_OUT) {
14747 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
14748 ndr->depth++;
14749 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14750 ndr->depth++;
14751 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14752 ndr->depth--;
14753 ndr_print_ptr(ndr, "res", r->out.res);
14754 ndr->depth++;
14755 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14756 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
14757 ndr->depth--;
14758 ndr_print_WERROR(ndr, "result", r->out.result);
14759 ndr->depth--;
14761 ndr->depth--;
14764 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
14766 if (flags & NDR_IN) {
14767 if (r->in.bind_handle == NULL) {
14768 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14770 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14771 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14772 if (r->in.req == NULL) {
14773 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14775 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14776 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14778 if (flags & NDR_OUT) {
14779 if (r->out.level_out == NULL) {
14780 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14782 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14783 if (r->out.res == NULL) {
14784 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14786 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14787 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14788 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14790 return NDR_ERR_SUCCESS;
14793 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
14795 TALLOC_CTX *_mem_save_bind_handle_0;
14796 TALLOC_CTX *_mem_save_req_0;
14797 TALLOC_CTX *_mem_save_level_out_0;
14798 TALLOC_CTX *_mem_save_res_0;
14799 if (flags & NDR_IN) {
14800 ZERO_STRUCT(r->out);
14802 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14803 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14805 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14806 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14807 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14808 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14809 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14810 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14811 NDR_PULL_ALLOC(ndr, r->in.req);
14813 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14814 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14815 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14816 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14818 NDR_PULL_ALLOC(ndr, r->out.level_out);
14819 ZERO_STRUCTP(r->out.level_out);
14820 NDR_PULL_ALLOC(ndr, r->out.res);
14821 ZERO_STRUCTP(r->out.res);
14823 if (flags & NDR_OUT) {
14824 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14825 NDR_PULL_ALLOC(ndr, r->out.level_out);
14827 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14828 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14829 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14830 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14831 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14832 NDR_PULL_ALLOC(ndr, r->out.res);
14834 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14835 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14836 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14837 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14838 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14839 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14841 return NDR_ERR_SUCCESS;
14844 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
14846 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
14847 ndr->depth++;
14848 if (flags & NDR_SET_VALUES) {
14849 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14851 if (flags & NDR_IN) {
14852 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
14853 ndr->depth++;
14854 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14855 ndr->depth++;
14856 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14857 ndr->depth--;
14858 ndr_print_int32(ndr, "level", r->in.level);
14859 ndr_print_ptr(ndr, "req", r->in.req);
14860 ndr->depth++;
14861 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14862 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
14863 ndr->depth--;
14864 ndr->depth--;
14866 if (flags & NDR_OUT) {
14867 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
14868 ndr->depth++;
14869 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14870 ndr->depth++;
14871 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14872 ndr->depth--;
14873 ndr_print_ptr(ndr, "res", r->out.res);
14874 ndr->depth++;
14875 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14876 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
14877 ndr->depth--;
14878 ndr_print_WERROR(ndr, "result", r->out.result);
14879 ndr->depth--;
14881 ndr->depth--;
14884 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14886 if (flags & NDR_IN) {
14888 if (flags & NDR_OUT) {
14889 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14891 return NDR_ERR_SUCCESS;
14894 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14896 if (flags & NDR_IN) {
14898 if (flags & NDR_OUT) {
14899 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14901 return NDR_ERR_SUCCESS;
14904 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14906 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
14907 ndr->depth++;
14908 if (flags & NDR_SET_VALUES) {
14909 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14911 if (flags & NDR_IN) {
14912 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14913 ndr->depth++;
14914 ndr->depth--;
14916 if (flags & NDR_OUT) {
14917 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14918 ndr->depth++;
14919 ndr_print_WERROR(ndr, "result", r->out.result);
14920 ndr->depth--;
14922 ndr->depth--;
14925 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14927 if (flags & NDR_IN) {
14928 if (r->in.bind_handle == NULL) {
14929 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14931 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14932 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14933 if (r->in.req == NULL) {
14934 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14936 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14937 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14939 if (flags & NDR_OUT) {
14940 if (r->out.level_out == NULL) {
14941 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14943 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14944 if (r->out.ctr == NULL) {
14945 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14947 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14948 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14949 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14951 return NDR_ERR_SUCCESS;
14954 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
14956 TALLOC_CTX *_mem_save_bind_handle_0;
14957 TALLOC_CTX *_mem_save_req_0;
14958 TALLOC_CTX *_mem_save_level_out_0;
14959 TALLOC_CTX *_mem_save_ctr_0;
14960 if (flags & NDR_IN) {
14961 ZERO_STRUCT(r->out);
14963 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14964 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14966 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14967 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14968 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14969 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14970 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14971 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14972 NDR_PULL_ALLOC(ndr, r->in.req);
14974 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14975 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14976 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14977 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14978 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14979 NDR_PULL_ALLOC(ndr, r->out.level_out);
14980 ZERO_STRUCTP(r->out.level_out);
14981 NDR_PULL_ALLOC(ndr, r->out.ctr);
14982 ZERO_STRUCTP(r->out.ctr);
14984 if (flags & NDR_OUT) {
14985 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14986 NDR_PULL_ALLOC(ndr, r->out.level_out);
14988 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14989 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14990 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14991 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14992 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14993 NDR_PULL_ALLOC(ndr, r->out.ctr);
14995 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14996 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14997 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14998 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14999 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15000 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15002 return NDR_ERR_SUCCESS;
15005 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
15007 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
15008 ndr->depth++;
15009 if (flags & NDR_SET_VALUES) {
15010 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15012 if (flags & NDR_IN) {
15013 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
15014 ndr->depth++;
15015 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15016 ndr->depth++;
15017 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15018 ndr->depth--;
15019 ndr_print_int32(ndr, "level", r->in.level);
15020 ndr_print_ptr(ndr, "req", r->in.req);
15021 ndr->depth++;
15022 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15023 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
15024 ndr->depth--;
15025 ndr->depth--;
15027 if (flags & NDR_OUT) {
15028 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
15029 ndr->depth++;
15030 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15031 ndr->depth++;
15032 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15033 ndr->depth--;
15034 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15035 ndr->depth++;
15036 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15037 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
15038 ndr->depth--;
15039 ndr_print_WERROR(ndr, "result", r->out.result);
15040 ndr->depth--;
15042 ndr->depth--;
15045 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
15047 if (flags & NDR_IN) {
15048 if (r->in.bind_handle == NULL) {
15049 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15051 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15052 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15053 if (r->in.req == NULL) {
15054 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15056 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15057 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15059 if (flags & NDR_OUT) {
15060 if (r->out.level_out == NULL) {
15061 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15063 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15064 if (r->out.ctr == NULL) {
15065 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15067 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15068 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15069 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15071 return NDR_ERR_SUCCESS;
15074 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
15076 TALLOC_CTX *_mem_save_bind_handle_0;
15077 TALLOC_CTX *_mem_save_req_0;
15078 TALLOC_CTX *_mem_save_level_out_0;
15079 TALLOC_CTX *_mem_save_ctr_0;
15080 if (flags & NDR_IN) {
15081 ZERO_STRUCT(r->out);
15083 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15084 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15086 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15087 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15088 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15089 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15090 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15091 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15092 NDR_PULL_ALLOC(ndr, r->in.req);
15094 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15095 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15096 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15097 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15098 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15099 NDR_PULL_ALLOC(ndr, r->out.level_out);
15100 ZERO_STRUCTP(r->out.level_out);
15101 NDR_PULL_ALLOC(ndr, r->out.ctr);
15102 ZERO_STRUCTP(r->out.ctr);
15104 if (flags & NDR_OUT) {
15105 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15106 NDR_PULL_ALLOC(ndr, r->out.level_out);
15108 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15109 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15110 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15111 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15112 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15113 NDR_PULL_ALLOC(ndr, r->out.ctr);
15115 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15116 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15117 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15118 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15119 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15120 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15122 return NDR_ERR_SUCCESS;
15125 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
15127 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
15128 ndr->depth++;
15129 if (flags & NDR_SET_VALUES) {
15130 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15132 if (flags & NDR_IN) {
15133 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
15134 ndr->depth++;
15135 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15136 ndr->depth++;
15137 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15138 ndr->depth--;
15139 ndr_print_int32(ndr, "level", r->in.level);
15140 ndr_print_ptr(ndr, "req", r->in.req);
15141 ndr->depth++;
15142 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15143 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
15144 ndr->depth--;
15145 ndr->depth--;
15147 if (flags & NDR_OUT) {
15148 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
15149 ndr->depth++;
15150 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15151 ndr->depth++;
15152 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15153 ndr->depth--;
15154 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15155 ndr->depth++;
15156 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15157 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
15158 ndr->depth--;
15159 ndr_print_WERROR(ndr, "result", r->out.result);
15160 ndr->depth--;
15162 ndr->depth--;
15165 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
15167 if (flags & NDR_IN) {
15168 if (r->in.bind_handle == NULL) {
15169 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15171 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15173 if (r->in.req == NULL) {
15174 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15176 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15177 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15179 if (flags & NDR_OUT) {
15180 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15182 return NDR_ERR_SUCCESS;
15185 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
15187 TALLOC_CTX *_mem_save_bind_handle_0;
15188 TALLOC_CTX *_mem_save_req_0;
15189 if (flags & NDR_IN) {
15190 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15191 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15193 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15194 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15195 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15197 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15198 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15199 NDR_PULL_ALLOC(ndr, r->in.req);
15201 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15202 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15203 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15204 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15207 if (flags & NDR_OUT) {
15208 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15210 return NDR_ERR_SUCCESS;
15213 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
15215 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
15216 ndr->depth++;
15217 if (flags & NDR_SET_VALUES) {
15218 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15220 if (flags & NDR_IN) {
15221 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
15222 ndr->depth++;
15223 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15224 ndr->depth++;
15225 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15226 ndr->depth--;
15227 ndr_print_uint32(ndr, "level", r->in.level);
15228 ndr_print_ptr(ndr, "req", r->in.req);
15229 ndr->depth++;
15230 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15231 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
15232 ndr->depth--;
15233 ndr->depth--;
15235 if (flags & NDR_OUT) {
15236 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
15237 ndr->depth++;
15238 ndr_print_WERROR(ndr, "result", r->out.result);
15239 ndr->depth--;
15241 ndr->depth--;
15244 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15246 if (flags & NDR_IN) {
15247 if (r->in.bind_handle == NULL) {
15248 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15250 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15251 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
15252 if (r->in.req == NULL) {
15253 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15255 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15256 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15258 if (flags & NDR_OUT) {
15259 if (r->out.info_type == NULL) {
15260 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15262 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
15263 if (r->out.info == NULL) {
15264 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15266 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
15267 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15268 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15270 return NDR_ERR_SUCCESS;
15273 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
15275 TALLOC_CTX *_mem_save_bind_handle_0;
15276 TALLOC_CTX *_mem_save_req_0;
15277 TALLOC_CTX *_mem_save_info_type_0;
15278 TALLOC_CTX *_mem_save_info_0;
15279 if (flags & NDR_IN) {
15280 ZERO_STRUCT(r->out);
15282 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15283 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15285 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15286 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15287 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15288 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15289 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
15290 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15291 NDR_PULL_ALLOC(ndr, r->in.req);
15293 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15294 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15295 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15296 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15298 NDR_PULL_ALLOC(ndr, r->out.info_type);
15299 ZERO_STRUCTP(r->out.info_type);
15300 NDR_PULL_ALLOC(ndr, r->out.info);
15301 ZERO_STRUCTP(r->out.info);
15303 if (flags & NDR_OUT) {
15304 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15305 NDR_PULL_ALLOC(ndr, r->out.info_type);
15307 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
15308 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
15309 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
15310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
15311 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15312 NDR_PULL_ALLOC(ndr, r->out.info);
15314 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15315 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15316 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
15317 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15319 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15321 return NDR_ERR_SUCCESS;
15324 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15326 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
15327 ndr->depth++;
15328 if (flags & NDR_SET_VALUES) {
15329 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15331 if (flags & NDR_IN) {
15332 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
15333 ndr->depth++;
15334 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15335 ndr->depth++;
15336 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15337 ndr->depth--;
15338 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
15339 ndr_print_ptr(ndr, "req", r->in.req);
15340 ndr->depth++;
15341 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15342 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
15343 ndr->depth--;
15344 ndr->depth--;
15346 if (flags & NDR_OUT) {
15347 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
15348 ndr->depth++;
15349 ndr_print_ptr(ndr, "info_type", r->out.info_type);
15350 ndr->depth++;
15351 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
15352 ndr->depth--;
15353 ndr_print_ptr(ndr, "info", r->out.info);
15354 ndr->depth++;
15355 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
15356 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
15357 ndr->depth--;
15358 ndr_print_WERROR(ndr, "result", r->out.result);
15359 ndr->depth--;
15361 ndr->depth--;
15364 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15366 if (flags & NDR_IN) {
15368 if (flags & NDR_OUT) {
15369 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15371 return NDR_ERR_SUCCESS;
15374 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
15376 if (flags & NDR_IN) {
15378 if (flags & NDR_OUT) {
15379 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15381 return NDR_ERR_SUCCESS;
15384 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15386 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
15387 ndr->depth++;
15388 if (flags & NDR_SET_VALUES) {
15389 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15391 if (flags & NDR_IN) {
15392 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
15393 ndr->depth++;
15394 ndr->depth--;
15396 if (flags & NDR_OUT) {
15397 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
15398 ndr->depth++;
15399 ndr_print_WERROR(ndr, "result", r->out.result);
15400 ndr->depth--;
15402 ndr->depth--;
15405 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
15407 if (flags & NDR_IN) {
15408 if (r->in.bind_handle == NULL) {
15409 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15411 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15412 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15413 if (r->in.req == NULL) {
15414 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15416 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15417 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15419 if (flags & NDR_OUT) {
15420 if (r->out.level_out == NULL) {
15421 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15423 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15424 if (r->out.ctr == NULL) {
15425 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15427 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15428 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15429 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15431 return NDR_ERR_SUCCESS;
15434 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
15436 TALLOC_CTX *_mem_save_bind_handle_0;
15437 TALLOC_CTX *_mem_save_req_0;
15438 TALLOC_CTX *_mem_save_level_out_0;
15439 TALLOC_CTX *_mem_save_ctr_0;
15440 if (flags & NDR_IN) {
15441 ZERO_STRUCT(r->out);
15443 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15444 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15446 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15447 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15448 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15450 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15451 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15452 NDR_PULL_ALLOC(ndr, r->in.req);
15454 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15455 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15456 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15457 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15458 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15459 NDR_PULL_ALLOC(ndr, r->out.level_out);
15460 ZERO_STRUCTP(r->out.level_out);
15461 NDR_PULL_ALLOC(ndr, r->out.ctr);
15462 ZERO_STRUCTP(r->out.ctr);
15464 if (flags & NDR_OUT) {
15465 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15466 NDR_PULL_ALLOC(ndr, r->out.level_out);
15468 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15469 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15470 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15471 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15472 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15473 NDR_PULL_ALLOC(ndr, r->out.ctr);
15475 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15476 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15477 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15478 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15479 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15480 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15482 return NDR_ERR_SUCCESS;
15485 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
15487 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
15488 ndr->depth++;
15489 if (flags & NDR_SET_VALUES) {
15490 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15492 if (flags & NDR_IN) {
15493 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
15494 ndr->depth++;
15495 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15496 ndr->depth++;
15497 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15498 ndr->depth--;
15499 ndr_print_int32(ndr, "level", r->in.level);
15500 ndr_print_ptr(ndr, "req", r->in.req);
15501 ndr->depth++;
15502 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15503 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
15504 ndr->depth--;
15505 ndr->depth--;
15507 if (flags & NDR_OUT) {
15508 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
15509 ndr->depth++;
15510 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15511 ndr->depth++;
15512 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15513 ndr->depth--;
15514 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15515 ndr->depth++;
15516 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15517 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
15518 ndr->depth--;
15519 ndr_print_WERROR(ndr, "result", r->out.result);
15520 ndr->depth--;
15522 ndr->depth--;
15525 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15527 if (flags & NDR_IN) {
15529 if (flags & NDR_OUT) {
15530 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15532 return NDR_ERR_SUCCESS;
15535 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15537 if (flags & NDR_IN) {
15539 if (flags & NDR_OUT) {
15540 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15542 return NDR_ERR_SUCCESS;
15545 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15547 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15548 ndr->depth++;
15549 if (flags & NDR_SET_VALUES) {
15550 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15552 if (flags & NDR_IN) {
15553 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15554 ndr->depth++;
15555 ndr->depth--;
15557 if (flags & NDR_OUT) {
15558 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15559 ndr->depth++;
15560 ndr_print_WERROR(ndr, "result", r->out.result);
15561 ndr->depth--;
15563 ndr->depth--;
15566 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15568 if (flags & NDR_IN) {
15570 if (flags & NDR_OUT) {
15571 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15573 return NDR_ERR_SUCCESS;
15576 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15578 if (flags & NDR_IN) {
15580 if (flags & NDR_OUT) {
15581 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15583 return NDR_ERR_SUCCESS;
15586 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15588 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
15589 ndr->depth++;
15590 if (flags & NDR_SET_VALUES) {
15591 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15593 if (flags & NDR_IN) {
15594 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15595 ndr->depth++;
15596 ndr->depth--;
15598 if (flags & NDR_OUT) {
15599 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15600 ndr->depth++;
15601 ndr_print_WERROR(ndr, "result", r->out.result);
15602 ndr->depth--;
15604 ndr->depth--;
15607 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
15609 if (flags & NDR_IN) {
15610 if (r->in.bind_handle == NULL) {
15611 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15613 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15614 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15615 if (r->in.req == NULL) {
15616 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15618 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15619 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15621 if (flags & NDR_OUT) {
15622 if (r->out.level_out == NULL) {
15623 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15625 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15626 if (r->out.ctr == NULL) {
15627 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15629 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15630 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15631 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15633 return NDR_ERR_SUCCESS;
15636 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
15638 TALLOC_CTX *_mem_save_bind_handle_0;
15639 TALLOC_CTX *_mem_save_req_0;
15640 TALLOC_CTX *_mem_save_level_out_0;
15641 TALLOC_CTX *_mem_save_ctr_0;
15642 if (flags & NDR_IN) {
15643 ZERO_STRUCT(r->out);
15645 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15646 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15648 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15649 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15650 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15651 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15652 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15653 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15654 NDR_PULL_ALLOC(ndr, r->in.req);
15656 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15657 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15658 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15659 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15661 NDR_PULL_ALLOC(ndr, r->out.level_out);
15662 ZERO_STRUCTP(r->out.level_out);
15663 NDR_PULL_ALLOC(ndr, r->out.ctr);
15664 ZERO_STRUCTP(r->out.ctr);
15666 if (flags & NDR_OUT) {
15667 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15668 NDR_PULL_ALLOC(ndr, r->out.level_out);
15670 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15671 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15672 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15673 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15674 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15675 NDR_PULL_ALLOC(ndr, r->out.ctr);
15677 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15678 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15679 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15680 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15681 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15682 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15684 return NDR_ERR_SUCCESS;
15687 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
15689 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
15690 ndr->depth++;
15691 if (flags & NDR_SET_VALUES) {
15692 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15694 if (flags & NDR_IN) {
15695 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
15696 ndr->depth++;
15697 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15698 ndr->depth++;
15699 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15700 ndr->depth--;
15701 ndr_print_int32(ndr, "level", r->in.level);
15702 ndr_print_ptr(ndr, "req", r->in.req);
15703 ndr->depth++;
15704 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15705 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
15706 ndr->depth--;
15707 ndr->depth--;
15709 if (flags & NDR_OUT) {
15710 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
15711 ndr->depth++;
15712 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15713 ndr->depth++;
15714 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15715 ndr->depth--;
15716 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15717 ndr->depth++;
15718 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15719 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
15720 ndr->depth--;
15721 ndr_print_WERROR(ndr, "result", r->out.result);
15722 ndr->depth--;
15724 ndr->depth--;
15727 static const struct ndr_interface_call drsuapi_calls[] = {
15729 "drsuapi_DsBind",
15730 sizeof(struct drsuapi_DsBind),
15731 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
15732 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
15733 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
15734 false,
15737 "drsuapi_DsUnbind",
15738 sizeof(struct drsuapi_DsUnbind),
15739 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
15740 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
15741 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
15742 false,
15745 "drsuapi_DsReplicaSync",
15746 sizeof(struct drsuapi_DsReplicaSync),
15747 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
15748 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
15749 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
15750 false,
15753 "drsuapi_DsGetNCChanges",
15754 sizeof(struct drsuapi_DsGetNCChanges),
15755 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
15756 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
15757 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
15758 false,
15761 "drsuapi_DsReplicaUpdateRefs",
15762 sizeof(struct drsuapi_DsReplicaUpdateRefs),
15763 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
15764 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
15765 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
15766 false,
15769 "drsuapi_DsReplicaAdd",
15770 sizeof(struct drsuapi_DsReplicaAdd),
15771 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
15772 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
15773 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
15774 false,
15777 "drsuapi_DsReplicaDel",
15778 sizeof(struct drsuapi_DsReplicaDel),
15779 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
15780 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
15781 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
15782 false,
15785 "drsuapi_DsReplicaMod",
15786 sizeof(struct drsuapi_DsReplicaMod),
15787 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
15788 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
15789 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
15790 false,
15793 "DRSUAPI_VERIFY_NAMES",
15794 sizeof(struct DRSUAPI_VERIFY_NAMES),
15795 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
15796 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
15797 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
15798 false,
15801 "drsuapi_DsGetMemberships",
15802 sizeof(struct drsuapi_DsGetMemberships),
15803 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
15804 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
15805 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
15806 false,
15809 "DRSUAPI_INTER_DOMAIN_MOVE",
15810 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
15811 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
15812 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
15813 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
15814 false,
15817 "drsuapi_DsGetNT4ChangeLog",
15818 sizeof(struct drsuapi_DsGetNT4ChangeLog),
15819 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
15820 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
15821 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
15822 false,
15825 "drsuapi_DsCrackNames",
15826 sizeof(struct drsuapi_DsCrackNames),
15827 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
15828 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
15829 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
15830 false,
15833 "drsuapi_DsWriteAccountSpn",
15834 sizeof(struct drsuapi_DsWriteAccountSpn),
15835 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
15836 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
15837 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
15838 false,
15841 "drsuapi_DsRemoveDSServer",
15842 sizeof(struct drsuapi_DsRemoveDSServer),
15843 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
15844 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
15845 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
15846 false,
15849 "DRSUAPI_REMOVE_DS_DOMAIN",
15850 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
15851 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
15852 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
15853 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
15854 false,
15857 "drsuapi_DsGetDomainControllerInfo",
15858 sizeof(struct drsuapi_DsGetDomainControllerInfo),
15859 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
15860 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
15861 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
15862 false,
15865 "drsuapi_DsAddEntry",
15866 sizeof(struct drsuapi_DsAddEntry),
15867 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
15868 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
15869 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
15870 false,
15873 "drsuapi_DsExecuteKCC",
15874 sizeof(struct drsuapi_DsExecuteKCC),
15875 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
15876 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
15877 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
15878 false,
15881 "drsuapi_DsReplicaGetInfo",
15882 sizeof(struct drsuapi_DsReplicaGetInfo),
15883 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
15884 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
15885 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
15886 false,
15889 "DRSUAPI_ADD_SID_HISTORY",
15890 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
15891 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
15892 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
15893 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
15894 false,
15897 "drsuapi_DsGetMemberships2",
15898 sizeof(struct drsuapi_DsGetMemberships2),
15899 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
15900 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
15901 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
15902 false,
15905 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15906 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
15907 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15908 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15909 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15910 false,
15913 "DRSUAPI_GET_OBJECT_EXISTENCE",
15914 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
15915 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
15916 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
15917 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
15918 false,
15921 "drsuapi_QuerySitesByCost",
15922 sizeof(struct drsuapi_QuerySitesByCost),
15923 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
15924 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
15925 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
15926 false,
15928 { NULL, 0, NULL, NULL, NULL, false }
15931 static const char * const drsuapi_endpoint_strings[] = {
15932 "ncacn_np:[\\pipe\\lsass]",
15933 "ncacn_np:[\\pipe\\protected_storage]",
15934 "ncacn_ip_tcp:",
15935 "ncalrpc:",
15938 static const struct ndr_interface_string_array drsuapi_endpoints = {
15939 .count = 4,
15940 .names = drsuapi_endpoint_strings
15943 static const char * const drsuapi_authservice_strings[] = {
15944 "ldap",
15947 static const struct ndr_interface_string_array drsuapi_authservices = {
15948 .count = 1,
15949 .names = drsuapi_authservice_strings
15953 const struct ndr_interface_table ndr_table_drsuapi = {
15954 .name = "drsuapi",
15955 .syntax_id = {
15956 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15957 NDR_DRSUAPI_VERSION
15959 .helpstring = NDR_DRSUAPI_HELPSTRING,
15960 .num_calls = 25,
15961 .calls = drsuapi_calls,
15962 .endpoints = &drsuapi_endpoints,
15963 .authservices = &drsuapi_authservices