s4/idl: regenerating drsuapi.idl
[Samba/gebeck_regimport.git] / librpc / gen_ndr / ndr_drsuapi.c
blob38e7206517b542bfec5aebca5a532667de4476eb
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_UPDATE_NOTIFICATION", DRSUAPI_DRS_UPDATE_NOTIFICATION, r);
31 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF, r);
32 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL, r);
33 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF, r);
34 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP, r);
35 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC, r);
36 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC, r);
37 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP, r);
38 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP, r);
39 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR, r);
40 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC, r);
41 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY, r);
42 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC, r);
43 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE, r);
44 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY, r);
45 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_BYNAME", DRSUAPI_DRS_SYNC_BYNAME, r);
46 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK, r);
47 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW, r);
48 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE, r);
49 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS", DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS, r);
50 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET, r);
51 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_REQUEUE", DRSUAPI_DRS_SYNC_REQUEUE, r);
52 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_URGENT", DRSUAPI_DRS_SYNC_URGENT, r);
53 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN, r);
54 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_DISCARD", DRSUAPI_DRS_NO_DISCARD, r);
55 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_SYNCED", DRSUAPI_DRS_NEVER_SYNCED, r);
56 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING, r);
57 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC_NOW", DRSUAPI_DRS_INIT_SYNC_NOW, r);
58 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PREEMPTED", DRSUAPI_DRS_PREEMPTED, r);
59 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED, r);
60 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC, r);
61 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC, r);
62 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_USE_COMPRESSION", DRSUAPI_DRS_USE_COMPRESSION, r);
63 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_NOTIFY", DRSUAPI_DRS_NEVER_NOTIFY, r);
64 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_PAS", DRSUAPI_DRS_SYNC_PAS, r);
65 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP", DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP, r);
66 ndr->depth--;
69 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
71 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
72 return NDR_ERR_SUCCESS;
75 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
77 uint32_t v;
78 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
79 *r = v;
80 return NDR_ERR_SUCCESS;
83 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensions(struct ndr_print *ndr, const char *name, uint32_t r)
85 ndr_print_uint32(ndr, name, r);
86 ndr->depth++;
87 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE, r);
88 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION, r);
89 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI, r);
90 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2, r);
91 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS, r);
92 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1, r);
93 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION, r);
94 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY, r);
95 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE, r);
96 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2, r);
97 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION, r);
98 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2, r);
99 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);
100 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND, r);
101 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO, r);
102 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION, r);
103 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01, r);
104 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP, r);
105 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY, r);
106 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3, r);
107 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5, r);
108 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2, r);
109 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6, r);
110 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS, r);
111 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8, r);
112 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5, r);
113 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6, r);
114 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3, r);
115 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7, r);
116 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT, r);
117 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS, r);
118 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10, r);
119 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2, r);
120 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3, r);
121 ndr->depth--;
124 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push *ndr, int ndr_flags, uint32_t r)
126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
127 return NDR_ERR_SUCCESS;
130 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
132 uint32_t v;
133 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
134 *r = v;
135 return NDR_ERR_SUCCESS;
138 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print *ndr, const char *name, uint32_t r)
140 ndr_print_uint32(ndr, name, r);
141 ndr->depth++;
142 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM, r);
143 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2, r);
144 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN", DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN, r);
145 ndr->depth--;
148 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo24(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo24 *r)
150 if (ndr_flags & NDR_SCALARS) {
151 NDR_CHECK(ndr_push_align(ndr, 4));
152 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
153 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
155 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
157 if (ndr_flags & NDR_BUFFERS) {
159 return NDR_ERR_SUCCESS;
162 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo24 *r)
164 if (ndr_flags & NDR_SCALARS) {
165 NDR_CHECK(ndr_pull_align(ndr, 4));
166 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
167 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
168 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
169 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
171 if (ndr_flags & NDR_BUFFERS) {
173 return NDR_ERR_SUCCESS;
176 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo24 *r)
178 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo24");
179 ndr->depth++;
180 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
181 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
182 ndr_print_uint32(ndr, "pid", r->pid);
183 ndr->depth--;
186 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo28(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo28 *r)
188 if (ndr_flags & NDR_SCALARS) {
189 NDR_CHECK(ndr_push_align(ndr, 4));
190 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
191 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
192 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
193 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
194 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
196 if (ndr_flags & NDR_BUFFERS) {
198 return NDR_ERR_SUCCESS;
201 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo28 *r)
203 if (ndr_flags & NDR_SCALARS) {
204 NDR_CHECK(ndr_pull_align(ndr, 4));
205 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
206 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
207 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
208 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
209 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
211 if (ndr_flags & NDR_BUFFERS) {
213 return NDR_ERR_SUCCESS;
216 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo28 *r)
218 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo28");
219 ndr->depth++;
220 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
221 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
222 ndr_print_uint32(ndr, "pid", r->pid);
223 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
224 ndr->depth--;
227 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo48(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo48 *r)
229 if (ndr_flags & NDR_SCALARS) {
230 NDR_CHECK(ndr_push_align(ndr, 4));
231 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
232 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
233 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
235 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
236 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
237 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
239 if (ndr_flags & NDR_BUFFERS) {
241 return NDR_ERR_SUCCESS;
244 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo48 *r)
246 if (ndr_flags & NDR_SCALARS) {
247 NDR_CHECK(ndr_pull_align(ndr, 4));
248 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
249 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
250 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
251 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
252 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
253 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
254 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
256 if (ndr_flags & NDR_BUFFERS) {
258 return NDR_ERR_SUCCESS;
261 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo48 *r)
263 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo48");
264 ndr->depth++;
265 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
266 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
267 ndr_print_uint32(ndr, "pid", r->pid);
268 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
269 ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
270 ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid);
271 ndr->depth--;
274 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoFallBack *r)
276 if (ndr_flags & NDR_SCALARS) {
277 NDR_CHECK(ndr_push_align(ndr, 4));
279 uint32_t _flags_save_DATA_BLOB = ndr->flags;
280 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
281 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->info));
282 ndr->flags = _flags_save_DATA_BLOB;
284 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
286 if (ndr_flags & NDR_BUFFERS) {
288 return NDR_ERR_SUCCESS;
291 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoFallBack *r)
293 if (ndr_flags & NDR_SCALARS) {
294 NDR_CHECK(ndr_pull_align(ndr, 4));
296 uint32_t _flags_save_DATA_BLOB = ndr->flags;
297 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
298 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->info));
299 ndr->flags = _flags_save_DATA_BLOB;
301 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
303 if (ndr_flags & NDR_BUFFERS) {
305 return NDR_ERR_SUCCESS;
308 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoFallBack *r)
310 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoFallBack");
311 ndr->depth++;
312 ndr_print_DATA_BLOB(ndr, "info", r->info);
313 ndr->depth--;
316 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsBindInfo *r)
318 if (ndr_flags & NDR_SCALARS) {
319 int level = ndr_push_get_switch_value(ndr, r);
320 NDR_CHECK(ndr_push_union_align(ndr, 1));
321 switch (level) {
322 case 24: {
324 struct ndr_push *_ndr_info24;
325 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info24, 4, -1));
326 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
327 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info24, 4, -1));
329 break; }
331 case 28: {
333 struct ndr_push *_ndr_info28;
334 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info28, 4, -1));
335 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
336 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info28, 4, -1));
338 break; }
340 case 48: {
342 struct ndr_push *_ndr_info48;
343 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info48, 4, -1));
344 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
345 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info48, 4, -1));
347 break; }
349 default: {
351 struct ndr_push *_ndr_FallBack;
352 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
353 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
354 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_FallBack, 4, -1));
356 break; }
360 if (ndr_flags & NDR_BUFFERS) {
361 int level = ndr_push_get_switch_value(ndr, r);
362 switch (level) {
363 case 24:
364 break;
366 case 28:
367 break;
369 case 48:
370 break;
372 default:
373 break;
377 return NDR_ERR_SUCCESS;
380 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsBindInfo *r)
382 int level;
383 level = ndr_pull_get_switch_value(ndr, r);
384 if (ndr_flags & NDR_SCALARS) {
385 NDR_CHECK(ndr_pull_union_align(ndr, 1));
386 switch (level) {
387 case 24: {
389 struct ndr_pull *_ndr_info24;
390 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info24, 4, -1));
391 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
392 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info24, 4, -1));
394 break; }
396 case 28: {
398 struct ndr_pull *_ndr_info28;
399 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info28, 4, -1));
400 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
401 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info28, 4, -1));
403 break; }
405 case 48: {
407 struct ndr_pull *_ndr_info48;
408 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info48, 4, -1));
409 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
410 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info48, 4, -1));
412 break; }
414 default: {
416 struct ndr_pull *_ndr_FallBack;
417 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
418 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
419 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_FallBack, 4, -1));
421 break; }
425 if (ndr_flags & NDR_BUFFERS) {
426 switch (level) {
427 case 24:
428 break;
430 case 28:
431 break;
433 case 48:
434 break;
436 default:
437 break;
441 return NDR_ERR_SUCCESS;
444 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsBindInfo *r)
446 int level;
447 level = ndr_print_get_switch_value(ndr, r);
448 ndr_print_union(ndr, name, level, "drsuapi_DsBindInfo");
449 switch (level) {
450 case 24:
451 ndr_print_drsuapi_DsBindInfo24(ndr, "info24", &r->info24);
452 break;
454 case 28:
455 ndr_print_drsuapi_DsBindInfo28(ndr, "info28", &r->info28);
456 break;
458 case 48:
459 ndr_print_drsuapi_DsBindInfo48(ndr, "info48", &r->info48);
460 break;
462 default:
463 ndr_print_drsuapi_DsBindInfoFallBack(ndr, "FallBack", &r->FallBack);
464 break;
469 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoCtr *r)
471 if (ndr_flags & NDR_SCALARS) {
472 NDR_CHECK(ndr_push_align(ndr, 4));
473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
474 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->length));
475 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
476 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
478 if (ndr_flags & NDR_BUFFERS) {
480 return NDR_ERR_SUCCESS;
483 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoCtr *r)
485 if (ndr_flags & NDR_SCALARS) {
486 NDR_CHECK(ndr_pull_align(ndr, 4));
487 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
488 if (r->length < 1 || r->length > 10000) {
489 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
491 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->length));
492 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
493 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
495 if (ndr_flags & NDR_BUFFERS) {
497 return NDR_ERR_SUCCESS;
500 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoCtr *r)
502 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoCtr");
503 ndr->depth++;
504 ndr_print_uint32(ndr, "length", r->length);
505 ndr_print_set_switch_value(ndr, &r->info, r->length);
506 ndr_print_drsuapi_DsBindInfo(ndr, "info", &r->info);
507 ndr->depth--;
510 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier *r)
512 if (ndr_flags & NDR_SCALARS) {
513 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->dn) + 1));
514 NDR_CHECK(ndr_push_align(ndr, 4));
515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->iconv_convenience, ndr->flags) - 4));
516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
517 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
518 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
520 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
521 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
523 if (ndr_flags & NDR_BUFFERS) {
524 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
526 return NDR_ERR_SUCCESS;
529 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier *r)
531 if (ndr_flags & NDR_SCALARS) {
532 NDR_CHECK(ndr_pull_array_size(ndr, &r->dn));
533 NDR_CHECK(ndr_pull_align(ndr, 4));
534 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
535 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
536 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
537 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
538 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
539 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, ndr_get_array_size(ndr, &r->dn), sizeof(uint16_t), CH_UTF16));
540 if (r->dn) {
541 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->dn, r->__ndr_size_dn + 1));
543 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
545 if (ndr_flags & NDR_BUFFERS) {
546 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
548 return NDR_ERR_SUCCESS;
551 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier *r)
553 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier");
554 ndr->depth++;
555 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);
556 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);
557 ndr_print_GUID(ndr, "guid", &r->guid);
558 ndr_print_dom_sid28(ndr, "sid", &r->sid);
559 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
560 ndr_print_string(ndr, "dn", r->dn);
561 ndr->depth--;
564 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier *r, struct smb_iconv_convenience *ic, int flags)
566 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier, ic);
569 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
571 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
572 return NDR_ERR_SUCCESS;
575 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
577 uint32_t v;
578 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
579 *r = v;
580 return NDR_ERR_SUCCESS;
583 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncOptions(struct ndr_print *ndr, const char *name, uint32_t r)
585 ndr_print_uint32(ndr, name, r);
586 ndr->depth++;
587 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION, r);
588 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_WRITEABLE", DRSUAPI_DS_REPLICA_SYNC_WRITEABLE, r);
589 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PERIODIC", DRSUAPI_DS_REPLICA_SYNC_PERIODIC, r);
590 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING", DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING, r);
591 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES", DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES, r);
592 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL", DRSUAPI_DS_REPLICA_SYNC_FULL, r);
593 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_URGENT", DRSUAPI_DS_REPLICA_SYNC_URGENT, r);
594 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD", DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD, r);
595 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FORCE", DRSUAPI_DS_REPLICA_SYNC_FORCE, r);
596 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE", DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE, r);
597 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED", DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED, r);
598 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_TWO_WAY", DRSUAPI_DS_REPLICA_SYNC_TWO_WAY, r);
599 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY", DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY, r);
600 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL", DRSUAPI_DS_REPLICA_SYNC_INITIAL, r);
601 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION", DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION, r);
602 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ABANDONED", DRSUAPI_DS_REPLICA_SYNC_ABANDONED, r);
603 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS, r);
604 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET, r);
605 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_REQUEUE", DRSUAPI_DS_REPLICA_SYNC_REQUEUE, r);
606 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION", DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION, r);
607 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA, r);
608 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_CRITICAL", DRSUAPI_DS_REPLICA_SYNC_CRITICAL, r);
609 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS, r);
610 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PREEMPTED", DRSUAPI_DS_REPLICA_SYNC_PREEMPTED, r);
611 ndr->depth--;
614 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r)
616 if (ndr_flags & NDR_SCALARS) {
617 NDR_CHECK(ndr_push_align(ndr, 5));
618 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
619 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
621 uint32_t _flags_save_string = ndr->flags;
622 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
623 NDR_CHECK(ndr_push_unique_ptr(ndr, r->other_info));
624 ndr->flags = _flags_save_string;
626 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
627 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
629 if (ndr_flags & NDR_BUFFERS) {
630 if (r->naming_context) {
631 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
634 uint32_t _flags_save_string = ndr->flags;
635 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
636 if (r->other_info) {
637 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->other_info));
639 ndr->flags = _flags_save_string;
642 return NDR_ERR_SUCCESS;
645 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r)
647 uint32_t _ptr_naming_context;
648 TALLOC_CTX *_mem_save_naming_context_0;
649 uint32_t _ptr_other_info;
650 TALLOC_CTX *_mem_save_other_info_0;
651 if (ndr_flags & NDR_SCALARS) {
652 NDR_CHECK(ndr_pull_align(ndr, 5));
653 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
654 if (_ptr_naming_context) {
655 NDR_PULL_ALLOC(ndr, r->naming_context);
656 } else {
657 r->naming_context = NULL;
659 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
661 uint32_t _flags_save_string = ndr->flags;
662 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
663 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info));
664 if (_ptr_other_info) {
665 NDR_PULL_ALLOC(ndr, r->other_info);
666 } else {
667 r->other_info = NULL;
669 ndr->flags = _flags_save_string;
671 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
672 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
674 if (ndr_flags & NDR_BUFFERS) {
675 if (r->naming_context) {
676 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
677 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
678 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
679 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
682 uint32_t _flags_save_string = ndr->flags;
683 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
684 if (r->other_info) {
685 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
686 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
687 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->other_info));
688 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
690 ndr->flags = _flags_save_string;
693 return NDR_ERR_SUCCESS;
696 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r)
698 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1");
699 ndr->depth++;
700 ndr_print_ptr(ndr, "naming_context", r->naming_context);
701 ndr->depth++;
702 if (r->naming_context) {
703 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
705 ndr->depth--;
706 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
707 ndr_print_ptr(ndr, "other_info", r->other_info);
708 ndr->depth++;
709 if (r->other_info) {
710 ndr_print_string(ndr, "other_info", r->other_info);
712 ndr->depth--;
713 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
714 ndr->depth--;
717 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r)
719 if (ndr_flags & NDR_SCALARS) {
720 int level = ndr_push_get_switch_value(ndr, r);
721 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
722 NDR_CHECK(ndr_push_union_align(ndr, 5));
723 switch (level) {
724 case 1: {
725 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
726 break; }
728 default:
729 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
732 if (ndr_flags & NDR_BUFFERS) {
733 int level = ndr_push_get_switch_value(ndr, r);
734 switch (level) {
735 case 1:
736 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
737 break;
739 default:
740 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
743 return NDR_ERR_SUCCESS;
746 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
748 int level;
749 int32_t _level;
750 level = ndr_pull_get_switch_value(ndr, r);
751 if (ndr_flags & NDR_SCALARS) {
752 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
753 if (_level != level) {
754 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
756 NDR_CHECK(ndr_pull_union_align(ndr, 5));
757 switch (level) {
758 case 1: {
759 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
760 break; }
762 default:
763 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
766 if (ndr_flags & NDR_BUFFERS) {
767 switch (level) {
768 case 1:
769 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
770 break;
772 default:
773 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
776 return NDR_ERR_SUCCESS;
779 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r)
781 int level;
782 level = ndr_print_get_switch_value(ndr, r);
783 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
784 switch (level) {
785 case 1:
786 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
787 break;
789 default:
790 ndr_print_bad_level(ndr, name, level);
794 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r)
796 if (ndr_flags & NDR_SCALARS) {
797 NDR_CHECK(ndr_push_align(ndr, 8));
798 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
799 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn));
800 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
801 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
803 if (ndr_flags & NDR_BUFFERS) {
805 return NDR_ERR_SUCCESS;
808 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r)
810 if (ndr_flags & NDR_SCALARS) {
811 NDR_CHECK(ndr_pull_align(ndr, 8));
812 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
813 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn));
814 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
815 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
817 if (ndr_flags & NDR_BUFFERS) {
819 return NDR_ERR_SUCCESS;
822 _PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r)
824 ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark");
825 ndr->depth++;
826 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
827 ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn);
828 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
829 ndr->depth--;
832 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r)
834 if (ndr_flags & NDR_SCALARS) {
835 NDR_CHECK(ndr_push_align(ndr, 8));
836 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
837 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
838 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
840 if (ndr_flags & NDR_BUFFERS) {
842 return NDR_ERR_SUCCESS;
845 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r)
847 if (ndr_flags & NDR_SCALARS) {
848 NDR_CHECK(ndr_pull_align(ndr, 8));
849 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
850 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
851 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
853 if (ndr_flags & NDR_BUFFERS) {
855 return NDR_ERR_SUCCESS;
858 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r)
860 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor");
861 ndr->depth++;
862 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
863 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
864 ndr->depth--;
867 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r)
869 uint32_t cntr_cursors_0;
870 if (ndr_flags & NDR_SCALARS) {
871 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
872 NDR_CHECK(ndr_push_align(ndr, 8));
873 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
877 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
878 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
880 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
882 if (ndr_flags & NDR_BUFFERS) {
884 return NDR_ERR_SUCCESS;
887 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r)
889 uint32_t cntr_cursors_0;
890 TALLOC_CTX *_mem_save_cursors_0;
891 if (ndr_flags & NDR_SCALARS) {
892 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
893 NDR_CHECK(ndr_pull_align(ndr, 8));
894 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
895 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
896 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
897 if (r->count > 0x100000) {
898 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
900 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
901 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
902 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
903 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
904 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
905 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
907 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
908 if (r->cursors) {
909 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
911 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
913 if (ndr_flags & NDR_BUFFERS) {
915 return NDR_ERR_SUCCESS;
918 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r)
920 uint32_t cntr_cursors_0;
921 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx");
922 ndr->depth++;
923 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
924 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
925 ndr_print_uint32(ndr, "count", r->count);
926 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
927 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
928 ndr->depth++;
929 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
930 char *idx_0=NULL;
931 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
932 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
933 free(idx_0);
936 ndr->depth--;
937 ndr->depth--;
940 static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r)
943 uint32_t _flags_save_ENUM = ndr->flags;
944 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
945 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
946 ndr->flags = _flags_save_ENUM;
948 return NDR_ERR_SUCCESS;
951 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r)
953 uint32_t v;
955 uint32_t _flags_save_ENUM = ndr->flags;
956 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
957 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
958 *r = v;
959 ndr->flags = _flags_save_ENUM;
961 return NDR_ERR_SUCCESS;
964 _PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r)
966 const char *val = NULL;
969 uint32_t _flags_save_ENUM = ndr->flags;
970 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
971 switch (r) {
972 case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break;
973 case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
974 case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
975 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
976 case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
977 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
978 case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break;
979 case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break;
981 ndr_print_enum(ndr, name, "ENUM", val, r);
982 ndr->flags = _flags_save_ENUM;
986 static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r)
989 uint32_t _flags_save_ENUM = ndr->flags;
990 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
991 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
992 ndr->flags = _flags_save_ENUM;
994 return NDR_ERR_SUCCESS;
997 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r)
999 uint32_t v;
1001 uint32_t _flags_save_ENUM = ndr->flags;
1002 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1003 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1004 *r = v;
1005 ndr->flags = _flags_save_ENUM;
1007 return NDR_ERR_SUCCESS;
1010 _PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r)
1012 const char *val = NULL;
1015 uint32_t _flags_save_ENUM = ndr->flags;
1016 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1017 switch (r) {
1018 case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break;
1019 case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break;
1020 case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
1021 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
1022 case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
1023 case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
1024 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
1025 case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
1026 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
1027 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
1028 case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break;
1029 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
1030 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
1031 case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
1032 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
1033 case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
1034 case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
1036 ndr_print_enum(ndr, name, "ENUM", val, r);
1037 ndr->flags = _flags_save_ENUM;
1041 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r)
1043 if (ndr_flags & NDR_SCALARS) {
1044 NDR_CHECK(ndr_push_align(ndr, 8));
1045 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1046 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1047 if (r->naming_context == NULL) {
1048 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1050 NDR_CHECK(ndr_push_ref_ptr(ndr));
1051 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1052 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1053 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1054 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1055 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1056 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1057 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1058 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1060 if (ndr_flags & NDR_BUFFERS) {
1061 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1062 if (r->uptodateness_vector) {
1063 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1066 return NDR_ERR_SUCCESS;
1069 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r)
1071 uint32_t _ptr_naming_context;
1072 TALLOC_CTX *_mem_save_naming_context_0;
1073 uint32_t _ptr_uptodateness_vector;
1074 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1075 if (ndr_flags & NDR_SCALARS) {
1076 NDR_CHECK(ndr_pull_align(ndr, 8));
1077 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1078 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1079 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1080 if (_ptr_naming_context) {
1081 NDR_PULL_ALLOC(ndr, r->naming_context);
1082 } else {
1083 r->naming_context = NULL;
1085 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1086 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1087 if (_ptr_uptodateness_vector) {
1088 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1089 } else {
1090 r->uptodateness_vector = NULL;
1092 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1093 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1094 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1095 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1096 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1097 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1099 if (ndr_flags & NDR_BUFFERS) {
1100 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1101 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1102 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1103 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1104 if (r->uptodateness_vector) {
1105 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1106 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1107 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1111 return NDR_ERR_SUCCESS;
1114 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r)
1116 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5");
1117 ndr->depth++;
1118 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1119 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1120 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1121 ndr->depth++;
1122 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1123 ndr->depth--;
1124 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1125 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1126 ndr->depth++;
1127 if (r->uptodateness_vector) {
1128 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1130 ndr->depth--;
1131 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1132 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1133 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1134 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1135 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1136 ndr->depth--;
1139 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOID(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOID *r)
1141 if (ndr_flags & NDR_SCALARS) {
1142 NDR_CHECK(ndr_push_align(ndr, 5));
1143 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1144 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary_oid));
1145 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1147 if (ndr_flags & NDR_BUFFERS) {
1148 if (r->binary_oid) {
1149 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
1150 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
1153 return NDR_ERR_SUCCESS;
1156 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOID *r)
1158 uint32_t _ptr_binary_oid;
1159 TALLOC_CTX *_mem_save_binary_oid_0;
1160 if (ndr_flags & NDR_SCALARS) {
1161 NDR_CHECK(ndr_pull_align(ndr, 5));
1162 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1163 if (r->length > 10000) {
1164 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1166 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_oid));
1167 if (_ptr_binary_oid) {
1168 NDR_PULL_ALLOC(ndr, r->binary_oid);
1169 } else {
1170 r->binary_oid = NULL;
1172 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1174 if (ndr_flags & NDR_BUFFERS) {
1175 if (r->binary_oid) {
1176 _mem_save_binary_oid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1177 NDR_PULL_SET_MEM_CTX(ndr, r->binary_oid, 0);
1178 NDR_CHECK(ndr_pull_array_size(ndr, &r->binary_oid));
1179 NDR_PULL_ALLOC_N(ndr, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid));
1180 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid)));
1181 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_oid_0, 0);
1183 if (r->binary_oid) {
1184 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->binary_oid, r->length));
1187 return NDR_ERR_SUCCESS;
1190 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
1192 if (ndr_flags & NDR_SCALARS) {
1193 NDR_CHECK(ndr_push_align(ndr, 5));
1194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
1195 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1196 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1198 if (ndr_flags & NDR_BUFFERS) {
1199 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1201 return NDR_ERR_SUCCESS;
1204 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
1206 if (ndr_flags & NDR_SCALARS) {
1207 NDR_CHECK(ndr_pull_align(ndr, 5));
1208 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
1209 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1210 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1212 if (ndr_flags & NDR_BUFFERS) {
1213 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1215 return NDR_ERR_SUCCESS;
1218 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
1220 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
1221 ndr->depth++;
1222 ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1223 ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
1224 ndr->depth--;
1227 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1229 uint32_t cntr_mappings_1;
1230 if (ndr_flags & NDR_SCALARS) {
1231 NDR_CHECK(ndr_push_align(ndr, 5));
1232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1233 NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
1234 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1236 if (ndr_flags & NDR_BUFFERS) {
1237 if (r->mappings) {
1238 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_mappings));
1239 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1240 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1242 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1243 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1247 return NDR_ERR_SUCCESS;
1250 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1252 uint32_t _ptr_mappings;
1253 uint32_t cntr_mappings_1;
1254 TALLOC_CTX *_mem_save_mappings_0;
1255 TALLOC_CTX *_mem_save_mappings_1;
1256 if (ndr_flags & NDR_SCALARS) {
1257 NDR_CHECK(ndr_pull_align(ndr, 5));
1258 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
1259 if (r->num_mappings > 0x100000) {
1260 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1262 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
1263 if (_ptr_mappings) {
1264 NDR_PULL_ALLOC(ndr, r->mappings);
1265 } else {
1266 r->mappings = NULL;
1268 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1270 if (ndr_flags & NDR_BUFFERS) {
1271 if (r->mappings) {
1272 _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1273 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1274 NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
1275 NDR_PULL_ALLOC_N(ndr, r->mappings, ndr_get_array_size(ndr, &r->mappings));
1276 _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1277 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1278 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1279 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1281 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1282 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1284 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
1285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
1287 if (r->mappings) {
1288 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
1291 return NDR_ERR_SUCCESS;
1294 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1296 uint32_t cntr_mappings_1;
1297 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
1298 ndr->depth++;
1299 ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1300 ndr_print_ptr(ndr, "mappings", r->mappings);
1301 ndr->depth++;
1302 if (r->mappings) {
1303 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1304 ndr->depth++;
1305 for (cntr_mappings_1=0;cntr_mappings_1<r->num_mappings;cntr_mappings_1++) {
1306 char *idx_1=NULL;
1307 if (asprintf(&idx_1, "[%d]", cntr_mappings_1) != -1) {
1308 ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
1309 free(idx_1);
1312 ndr->depth--;
1314 ndr->depth--;
1315 ndr->depth--;
1318 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
1321 uint32_t _flags_save_ENUM = ndr->flags;
1322 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1323 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1324 ndr->flags = _flags_save_ENUM;
1326 return NDR_ERR_SUCCESS;
1329 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
1331 uint32_t v;
1333 uint32_t _flags_save_ENUM = ndr->flags;
1334 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1335 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1336 *r = v;
1337 ndr->flags = _flags_save_ENUM;
1339 return NDR_ERR_SUCCESS;
1342 _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
1344 const char *val = NULL;
1347 uint32_t _flags_save_ENUM = ndr->flags;
1348 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1349 switch (r) {
1350 case DRSUAPI_ATTRIBUTE_objectClass: val = "DRSUAPI_ATTRIBUTE_objectClass"; break;
1351 case DRSUAPI_ATTRIBUTE_cn: val = "DRSUAPI_ATTRIBUTE_cn"; break;
1352 case DRSUAPI_ATTRIBUTE_description: val = "DRSUAPI_ATTRIBUTE_description"; break;
1353 case DRSUAPI_ATTRIBUTE_member: val = "DRSUAPI_ATTRIBUTE_member"; break;
1354 case DRSUAPI_ATTRIBUTE_instanceType: val = "DRSUAPI_ATTRIBUTE_instanceType"; break;
1355 case DRSUAPI_ATTRIBUTE_whenCreated: val = "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1356 case DRSUAPI_ATTRIBUTE_possSuperiors: val = "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1357 case DRSUAPI_ATTRIBUTE_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1358 case DRSUAPI_ATTRIBUTE_subClassOf: val = "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1359 case DRSUAPI_ATTRIBUTE_governsID: val = "DRSUAPI_ATTRIBUTE_governsID"; break;
1360 case DRSUAPI_ATTRIBUTE_mustContain: val = "DRSUAPI_ATTRIBUTE_mustContain"; break;
1361 case DRSUAPI_ATTRIBUTE_mayContain: val = "DRSUAPI_ATTRIBUTE_mayContain"; break;
1362 case DRSUAPI_ATTRIBUTE_rDNAttId: val = "DRSUAPI_ATTRIBUTE_rDNAttId"; break;
1363 case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1364 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1365 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1366 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1367 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1368 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1369 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1370 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1371 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1372 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1373 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1374 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1375 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1376 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1377 case DRSUAPI_ATTRIBUTE_auxiliaryClass: val = "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1378 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1379 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1380 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1381 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1382 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1383 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1384 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1385 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1386 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1387 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1388 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1389 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1390 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1391 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1392 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1393 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1394 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1395 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1396 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1397 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1398 case DRSUAPI_ATTRIBUTE_systemPossSuperiors: val = "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1399 case DRSUAPI_ATTRIBUTE_systemMayContain: val = "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1400 case DRSUAPI_ATTRIBUTE_systemMustContain: val = "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1401 case DRSUAPI_ATTRIBUTE_systemAuxiliaryClass: val = "DRSUAPI_ATTRIBUTE_systemAuxiliaryClass"; break;
1402 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1403 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1404 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1405 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1406 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1407 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1408 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1409 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1410 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1411 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1412 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1413 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1414 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1415 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1416 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1417 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1418 case DRSUAPI_ATTRIBUTE_transportAddressAttribute: val = "DRSUAPI_ATTRIBUTE_transportAddressAttribute"; break;
1419 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1420 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1421 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1422 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1423 case DRSUAPI_ATTRIBUTE_NONE: val = "DRSUAPI_ATTRIBUTE_NONE"; break;
1425 ndr_print_enum(ndr, name, "ENUM", val, r);
1426 ndr->flags = _flags_save_ENUM;
1430 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1432 uint32_t cntr_attids_0;
1433 if (ndr_flags & NDR_SCALARS) {
1434 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
1435 NDR_CHECK(ndr_push_align(ndr, 4));
1436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1437 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1438 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1439 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1440 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1442 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1444 if (ndr_flags & NDR_BUFFERS) {
1446 return NDR_ERR_SUCCESS;
1449 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1451 uint32_t cntr_attids_0;
1452 TALLOC_CTX *_mem_save_attids_0;
1453 if (ndr_flags & NDR_SCALARS) {
1454 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1455 NDR_CHECK(ndr_pull_align(ndr, 4));
1456 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1457 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1458 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1459 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1460 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1462 NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids));
1463 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1464 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1465 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1466 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1468 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1469 if (r->attids) {
1470 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1472 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1474 if (ndr_flags & NDR_BUFFERS) {
1476 return NDR_ERR_SUCCESS;
1479 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1481 uint32_t cntr_attids_0;
1482 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1483 ndr->depth++;
1484 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1485 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1486 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1487 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1488 ndr->depth++;
1489 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1490 char *idx_0=NULL;
1491 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1492 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1493 free(idx_0);
1496 ndr->depth--;
1497 ndr->depth--;
1500 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1502 if (ndr_flags & NDR_SCALARS) {
1503 NDR_CHECK(ndr_push_align(ndr, 8));
1504 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1505 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1506 if (r->naming_context == NULL) {
1507 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1509 NDR_CHECK(ndr_push_ref_ptr(ndr));
1510 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1511 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1512 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1515 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1516 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1517 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1518 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1519 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1520 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1522 if (ndr_flags & NDR_BUFFERS) {
1523 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1524 if (r->uptodateness_vector) {
1525 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1527 if (r->partial_attribute_set) {
1528 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1530 if (r->partial_attribute_set_ex) {
1531 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1533 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1535 return NDR_ERR_SUCCESS;
1538 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1540 uint32_t _ptr_naming_context;
1541 TALLOC_CTX *_mem_save_naming_context_0;
1542 uint32_t _ptr_uptodateness_vector;
1543 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1544 uint32_t _ptr_partial_attribute_set;
1545 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1546 uint32_t _ptr_partial_attribute_set_ex;
1547 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1548 if (ndr_flags & NDR_SCALARS) {
1549 NDR_CHECK(ndr_pull_align(ndr, 8));
1550 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1551 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1552 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1553 if (_ptr_naming_context) {
1554 NDR_PULL_ALLOC(ndr, r->naming_context);
1555 } else {
1556 r->naming_context = NULL;
1558 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1559 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1560 if (_ptr_uptodateness_vector) {
1561 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1562 } else {
1563 r->uptodateness_vector = NULL;
1565 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1566 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1567 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1568 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1569 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1570 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1571 if (_ptr_partial_attribute_set) {
1572 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1573 } else {
1574 r->partial_attribute_set = NULL;
1576 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1577 if (_ptr_partial_attribute_set_ex) {
1578 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1579 } else {
1580 r->partial_attribute_set_ex = NULL;
1582 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1583 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1585 if (ndr_flags & NDR_BUFFERS) {
1586 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1587 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1588 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1589 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1590 if (r->uptodateness_vector) {
1591 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1592 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1593 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1594 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1596 if (r->partial_attribute_set) {
1597 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1598 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1599 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1600 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1602 if (r->partial_attribute_set_ex) {
1603 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1604 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1605 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1606 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1608 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1610 return NDR_ERR_SUCCESS;
1613 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1615 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1616 ndr->depth++;
1617 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1618 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1619 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1620 ndr->depth++;
1621 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1622 ndr->depth--;
1623 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1624 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1625 ndr->depth++;
1626 if (r->uptodateness_vector) {
1627 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1629 ndr->depth--;
1630 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1631 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1632 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1633 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1634 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1635 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1636 ndr->depth++;
1637 if (r->partial_attribute_set) {
1638 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1640 ndr->depth--;
1641 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1642 ndr->depth++;
1643 if (r->partial_attribute_set_ex) {
1644 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1646 ndr->depth--;
1647 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1648 ndr->depth--;
1651 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
1653 if (ndr_flags & NDR_SCALARS) {
1654 NDR_CHECK(ndr_push_align(ndr, 8));
1655 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1656 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1657 if (r->naming_context == NULL) {
1658 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1660 NDR_CHECK(ndr_push_ref_ptr(ndr));
1661 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1662 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1663 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1664 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1665 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1666 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1667 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1668 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1669 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1670 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1671 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_flags));
1672 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1674 if (ndr_flags & NDR_BUFFERS) {
1675 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1676 if (r->uptodateness_vector) {
1677 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1679 if (r->partial_attribute_set) {
1680 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1682 if (r->partial_attribute_set_ex) {
1683 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1685 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1687 return NDR_ERR_SUCCESS;
1690 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
1692 uint32_t _ptr_naming_context;
1693 TALLOC_CTX *_mem_save_naming_context_0;
1694 uint32_t _ptr_uptodateness_vector;
1695 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1696 uint32_t _ptr_partial_attribute_set;
1697 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1698 uint32_t _ptr_partial_attribute_set_ex;
1699 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1700 if (ndr_flags & NDR_SCALARS) {
1701 NDR_CHECK(ndr_pull_align(ndr, 8));
1702 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1703 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1704 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1705 if (_ptr_naming_context) {
1706 NDR_PULL_ALLOC(ndr, r->naming_context);
1707 } else {
1708 r->naming_context = NULL;
1710 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1711 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1712 if (_ptr_uptodateness_vector) {
1713 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1714 } else {
1715 r->uptodateness_vector = NULL;
1717 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1718 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1719 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1720 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1721 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1722 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1723 if (_ptr_partial_attribute_set) {
1724 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1725 } else {
1726 r->partial_attribute_set = NULL;
1728 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1729 if (_ptr_partial_attribute_set_ex) {
1730 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1731 } else {
1732 r->partial_attribute_set_ex = NULL;
1734 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1735 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_flags));
1736 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1738 if (ndr_flags & NDR_BUFFERS) {
1739 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1740 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1741 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1742 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1743 if (r->uptodateness_vector) {
1744 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1745 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1746 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1747 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1749 if (r->partial_attribute_set) {
1750 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1751 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1752 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1753 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1755 if (r->partial_attribute_set_ex) {
1756 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1757 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1758 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1759 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1761 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1763 return NDR_ERR_SUCCESS;
1766 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
1768 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
1769 ndr->depth++;
1770 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1771 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1772 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1773 ndr->depth++;
1774 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1775 ndr->depth--;
1776 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1777 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1778 ndr->depth++;
1779 if (r->uptodateness_vector) {
1780 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1782 ndr->depth--;
1783 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1784 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1785 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1786 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1787 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1788 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1789 ndr->depth++;
1790 if (r->partial_attribute_set) {
1791 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1793 ndr->depth--;
1794 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1795 ndr->depth++;
1796 if (r->partial_attribute_set_ex) {
1797 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1799 ndr->depth--;
1800 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1801 ndr_print_uint32(ndr, "more_flags", r->more_flags);
1802 ndr->depth--;
1805 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1807 if (ndr_flags & NDR_SCALARS) {
1808 int level = ndr_push_get_switch_value(ndr, r);
1809 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
1810 NDR_CHECK(ndr_push_union_align(ndr, 8));
1811 switch (level) {
1812 case 5: {
1813 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1814 break; }
1816 case 8: {
1817 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1818 break; }
1820 case 10: {
1821 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1822 break; }
1824 default:
1825 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1828 if (ndr_flags & NDR_BUFFERS) {
1829 int level = ndr_push_get_switch_value(ndr, r);
1830 switch (level) {
1831 case 5:
1832 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1833 break;
1835 case 8:
1836 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1837 break;
1839 case 10:
1840 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1841 break;
1843 default:
1844 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1847 return NDR_ERR_SUCCESS;
1850 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1852 int level;
1853 int32_t _level;
1854 level = ndr_pull_get_switch_value(ndr, r);
1855 if (ndr_flags & NDR_SCALARS) {
1856 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
1857 if (_level != level) {
1858 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1860 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1861 switch (level) {
1862 case 5: {
1863 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1864 break; }
1866 case 8: {
1867 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1868 break; }
1870 case 10: {
1871 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1872 break; }
1874 default:
1875 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1878 if (ndr_flags & NDR_BUFFERS) {
1879 switch (level) {
1880 case 5:
1881 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1882 break;
1884 case 8:
1885 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1886 break;
1888 case 10:
1889 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1890 break;
1892 default:
1893 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1896 return NDR_ERR_SUCCESS;
1899 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1901 int level;
1902 level = ndr_print_get_switch_value(ndr, r);
1903 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1904 switch (level) {
1905 case 5:
1906 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1907 break;
1909 case 8:
1910 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1911 break;
1913 case 10:
1914 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
1915 break;
1917 default:
1918 ndr_print_bad_level(ndr, name, level);
1922 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1924 if (ndr_flags & NDR_SCALARS) {
1925 NDR_CHECK(ndr_push_align(ndr, 8));
1926 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1927 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1928 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1929 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1931 if (ndr_flags & NDR_BUFFERS) {
1933 return NDR_ERR_SUCCESS;
1936 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1938 if (ndr_flags & NDR_SCALARS) {
1939 NDR_CHECK(ndr_pull_align(ndr, 8));
1940 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1941 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1942 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1943 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1945 if (ndr_flags & NDR_BUFFERS) {
1947 return NDR_ERR_SUCCESS;
1950 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
1952 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
1953 ndr->depth++;
1954 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1955 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
1956 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
1957 ndr->depth--;
1960 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1962 uint32_t cntr_cursors_0;
1963 if (ndr_flags & NDR_SCALARS) {
1964 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1965 NDR_CHECK(ndr_push_align(ndr, 8));
1966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
1967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1968 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1969 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1970 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1971 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1973 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1975 if (ndr_flags & NDR_BUFFERS) {
1977 return NDR_ERR_SUCCESS;
1980 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
1982 uint32_t cntr_cursors_0;
1983 TALLOC_CTX *_mem_save_cursors_0;
1984 if (ndr_flags & NDR_SCALARS) {
1985 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
1986 NDR_CHECK(ndr_pull_align(ndr, 8));
1987 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1988 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1989 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1990 if (r->count > 0x100000) {
1991 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1993 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
1994 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
1995 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
1996 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
1997 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1998 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
2000 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
2001 if (r->cursors) {
2002 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
2004 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2006 if (ndr_flags & NDR_BUFFERS) {
2008 return NDR_ERR_SUCCESS;
2011 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
2013 uint32_t cntr_cursors_0;
2014 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
2015 ndr->depth++;
2016 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
2017 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2018 ndr_print_uint32(ndr, "count", r->count);
2019 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2020 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
2021 ndr->depth++;
2022 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
2023 char *idx_0=NULL;
2024 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
2025 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
2026 free(idx_0);
2029 ndr->depth--;
2030 ndr->depth--;
2033 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
2035 if (ndr_flags & NDR_SCALARS) {
2036 NDR_CHECK(ndr_push_align(ndr, 5));
2037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
2038 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
2039 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2041 if (ndr_flags & NDR_BUFFERS) {
2042 if (r->blob) {
2043 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
2046 return NDR_ERR_SUCCESS;
2049 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
2051 uint32_t _ptr_blob;
2052 TALLOC_CTX *_mem_save_blob_0;
2053 if (ndr_flags & NDR_SCALARS) {
2054 NDR_CHECK(ndr_pull_align(ndr, 5));
2055 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2056 if (r->__ndr_size > 10485760) {
2057 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2059 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
2060 if (_ptr_blob) {
2061 NDR_PULL_ALLOC(ndr, r->blob);
2062 } else {
2063 r->blob = NULL;
2065 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2067 if (ndr_flags & NDR_BUFFERS) {
2068 if (r->blob) {
2069 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
2070 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
2071 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
2072 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
2075 return NDR_ERR_SUCCESS;
2078 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
2080 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
2081 ndr->depth++;
2082 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
2083 ndr_print_ptr(ndr, "blob", r->blob);
2084 ndr->depth++;
2085 if (r->blob) {
2086 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
2088 ndr->depth--;
2089 ndr->depth--;
2092 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
2094 uint32_t cntr_values_1;
2095 if (ndr_flags & NDR_SCALARS) {
2096 NDR_CHECK(ndr_push_align(ndr, 5));
2097 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
2098 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
2099 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2101 if (ndr_flags & NDR_BUFFERS) {
2102 if (r->values) {
2103 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
2104 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2105 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2107 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2108 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2112 return NDR_ERR_SUCCESS;
2115 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
2117 uint32_t _ptr_values;
2118 uint32_t cntr_values_1;
2119 TALLOC_CTX *_mem_save_values_0;
2120 TALLOC_CTX *_mem_save_values_1;
2121 if (ndr_flags & NDR_SCALARS) {
2122 NDR_CHECK(ndr_pull_align(ndr, 5));
2123 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
2124 if (r->num_values > 10485760) {
2125 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2127 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
2128 if (_ptr_values) {
2129 NDR_PULL_ALLOC(ndr, r->values);
2130 } else {
2131 r->values = NULL;
2133 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2135 if (ndr_flags & NDR_BUFFERS) {
2136 if (r->values) {
2137 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2138 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2139 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
2140 NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values));
2141 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
2142 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2143 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2144 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2146 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2147 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2149 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
2150 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
2152 if (r->values) {
2153 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
2156 return NDR_ERR_SUCCESS;
2159 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
2161 uint32_t cntr_values_1;
2162 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
2163 ndr->depth++;
2164 ndr_print_uint32(ndr, "num_values", r->num_values);
2165 ndr_print_ptr(ndr, "values", r->values);
2166 ndr->depth++;
2167 if (r->values) {
2168 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
2169 ndr->depth++;
2170 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
2171 char *idx_1=NULL;
2172 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
2173 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
2174 free(idx_1);
2177 ndr->depth--;
2179 ndr->depth--;
2180 ndr->depth--;
2183 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2185 if (ndr_flags & NDR_SCALARS) {
2186 NDR_CHECK(ndr_push_align(ndr, 4));
2187 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2188 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2189 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2190 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2191 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2192 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2193 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2195 if (ndr_flags & NDR_BUFFERS) {
2196 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2198 return NDR_ERR_SUCCESS;
2201 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
2203 if (ndr_flags & NDR_SCALARS) {
2204 NDR_CHECK(ndr_pull_align(ndr, 4));
2205 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2206 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2207 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2208 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2210 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2211 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2213 if (ndr_flags & NDR_BUFFERS) {
2214 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2216 return NDR_ERR_SUCCESS;
2219 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2221 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
2222 ndr->depth++;
2223 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);
2224 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);
2225 ndr_print_GUID(ndr, "guid", &r->guid);
2226 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2227 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2228 ndr_print_string(ndr, "dn", r->dn);
2229 ndr->depth--;
2232 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags)
2234 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic);
2237 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2239 if (ndr_flags & NDR_SCALARS) {
2240 NDR_CHECK(ndr_push_align(ndr, 4));
2241 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags)));
2242 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2243 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2244 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2246 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
2249 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2250 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2251 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
2252 ndr->flags = _flags_save_DATA_BLOB;
2254 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2256 if (ndr_flags & NDR_BUFFERS) {
2257 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2259 return NDR_ERR_SUCCESS;
2262 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2264 if (ndr_flags & NDR_SCALARS) {
2265 NDR_CHECK(ndr_pull_align(ndr, 4));
2266 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2267 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2268 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2269 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2270 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2271 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2272 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
2274 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2275 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2276 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
2277 ndr->flags = _flags_save_DATA_BLOB;
2279 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2281 if (ndr_flags & NDR_BUFFERS) {
2282 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2284 return NDR_ERR_SUCCESS;
2287 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2289 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2290 ndr->depth++;
2291 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
2292 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);
2293 ndr_print_GUID(ndr, "guid", &r->guid);
2294 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2295 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2296 ndr_print_string(ndr, "dn", r->dn);
2297 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2298 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2299 ndr->depth--;
2302 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2304 if (ndr_flags & NDR_SCALARS) {
2305 NDR_CHECK(ndr_push_align(ndr, 5));
2306 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2307 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2308 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2310 if (ndr_flags & NDR_BUFFERS) {
2311 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2313 return NDR_ERR_SUCCESS;
2316 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2318 if (ndr_flags & NDR_SCALARS) {
2319 NDR_CHECK(ndr_pull_align(ndr, 5));
2320 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2321 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2322 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2324 if (ndr_flags & NDR_BUFFERS) {
2325 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2327 return NDR_ERR_SUCCESS;
2330 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2332 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2333 ndr->depth++;
2334 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2335 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2336 ndr->depth--;
2339 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2341 uint32_t cntr_attributes_1;
2342 if (ndr_flags & NDR_SCALARS) {
2343 NDR_CHECK(ndr_push_align(ndr, 5));
2344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2345 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2346 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2348 if (ndr_flags & NDR_BUFFERS) {
2349 if (r->attributes) {
2350 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
2351 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2352 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2354 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2355 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2359 return NDR_ERR_SUCCESS;
2362 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2364 uint32_t _ptr_attributes;
2365 uint32_t cntr_attributes_1;
2366 TALLOC_CTX *_mem_save_attributes_0;
2367 TALLOC_CTX *_mem_save_attributes_1;
2368 if (ndr_flags & NDR_SCALARS) {
2369 NDR_CHECK(ndr_pull_align(ndr, 5));
2370 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2371 if (r->num_attributes > 1048576) {
2372 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2374 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2375 if (_ptr_attributes) {
2376 NDR_PULL_ALLOC(ndr, r->attributes);
2377 } else {
2378 r->attributes = NULL;
2380 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2382 if (ndr_flags & NDR_BUFFERS) {
2383 if (r->attributes) {
2384 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2385 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2386 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2387 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes));
2388 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2389 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2390 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2391 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2393 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2394 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2396 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2397 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2399 if (r->attributes) {
2400 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2403 return NDR_ERR_SUCCESS;
2406 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2408 uint32_t cntr_attributes_1;
2409 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2410 ndr->depth++;
2411 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2412 ndr_print_ptr(ndr, "attributes", r->attributes);
2413 ndr->depth++;
2414 if (r->attributes) {
2415 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2416 ndr->depth++;
2417 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2418 char *idx_1=NULL;
2419 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2420 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2421 free(idx_1);
2424 ndr->depth--;
2426 ndr->depth--;
2427 ndr->depth--;
2430 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2433 return NDR_ERR_SUCCESS;
2436 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2438 uint32_t v;
2439 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2440 *r = v;
2441 return NDR_ERR_SUCCESS;
2444 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2446 ndr_print_uint32(ndr, name, r);
2447 ndr->depth++;
2448 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2449 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2450 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2451 ndr->depth--;
2454 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2456 if (ndr_flags & NDR_SCALARS) {
2457 NDR_CHECK(ndr_push_align(ndr, 5));
2458 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2459 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2460 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2461 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2463 if (ndr_flags & NDR_BUFFERS) {
2464 if (r->identifier) {
2465 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2467 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2469 return NDR_ERR_SUCCESS;
2472 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2474 uint32_t _ptr_identifier;
2475 TALLOC_CTX *_mem_save_identifier_0;
2476 if (ndr_flags & NDR_SCALARS) {
2477 NDR_CHECK(ndr_pull_align(ndr, 5));
2478 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2479 if (_ptr_identifier) {
2480 NDR_PULL_ALLOC(ndr, r->identifier);
2481 } else {
2482 r->identifier = NULL;
2484 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2485 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2486 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2488 if (ndr_flags & NDR_BUFFERS) {
2489 if (r->identifier) {
2490 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2491 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2492 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2493 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2495 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2497 return NDR_ERR_SUCCESS;
2500 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2502 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2503 ndr->depth++;
2504 ndr_print_ptr(ndr, "identifier", r->identifier);
2505 ndr->depth++;
2506 if (r->identifier) {
2507 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2509 ndr->depth--;
2510 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2511 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2512 ndr->depth--;
2515 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2517 if (ndr_flags & NDR_SCALARS) {
2518 NDR_CHECK(ndr_push_align(ndr, 8));
2519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2520 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2521 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2522 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2523 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2525 if (ndr_flags & NDR_BUFFERS) {
2527 return NDR_ERR_SUCCESS;
2530 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2532 if (ndr_flags & NDR_SCALARS) {
2533 NDR_CHECK(ndr_pull_align(ndr, 8));
2534 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2535 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2536 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2537 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2538 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2540 if (ndr_flags & NDR_BUFFERS) {
2542 return NDR_ERR_SUCCESS;
2545 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2547 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2548 ndr->depth++;
2549 ndr_print_uint32(ndr, "version", r->version);
2550 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2551 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2552 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2553 ndr->depth--;
2556 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2558 uint32_t cntr_meta_data_0;
2559 if (ndr_flags & NDR_SCALARS) {
2560 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2561 NDR_CHECK(ndr_push_align(ndr, 8));
2562 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2563 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2564 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2566 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2568 if (ndr_flags & NDR_BUFFERS) {
2570 return NDR_ERR_SUCCESS;
2573 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2575 uint32_t cntr_meta_data_0;
2576 TALLOC_CTX *_mem_save_meta_data_0;
2577 if (ndr_flags & NDR_SCALARS) {
2578 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2579 NDR_CHECK(ndr_pull_align(ndr, 8));
2580 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2581 if (r->count > 1048576) {
2582 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2584 NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data));
2585 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2586 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2587 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2588 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2590 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2591 if (r->meta_data) {
2592 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2594 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2596 if (ndr_flags & NDR_BUFFERS) {
2598 return NDR_ERR_SUCCESS;
2601 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2603 uint32_t cntr_meta_data_0;
2604 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2605 ndr->depth++;
2606 ndr_print_uint32(ndr, "count", r->count);
2607 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2608 ndr->depth++;
2609 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2610 char *idx_0=NULL;
2611 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2612 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2613 free(idx_0);
2616 ndr->depth--;
2617 ndr->depth--;
2620 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2622 if (ndr_flags & NDR_SCALARS) {
2623 NDR_CHECK(ndr_push_align(ndr, 5));
2624 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2625 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2627 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2628 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2629 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2631 if (ndr_flags & NDR_BUFFERS) {
2632 if (r->next_object) {
2633 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2635 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2636 if (r->parent_object_guid) {
2637 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2639 if (r->meta_data_ctr) {
2640 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2643 return NDR_ERR_SUCCESS;
2646 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2648 uint32_t _ptr_next_object;
2649 TALLOC_CTX *_mem_save_next_object_0;
2650 uint32_t _ptr_parent_object_guid;
2651 TALLOC_CTX *_mem_save_parent_object_guid_0;
2652 uint32_t _ptr_meta_data_ctr;
2653 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2654 if (ndr_flags & NDR_SCALARS) {
2655 NDR_CHECK(ndr_pull_align(ndr, 5));
2656 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2657 if (_ptr_next_object) {
2658 NDR_PULL_ALLOC(ndr, r->next_object);
2659 } else {
2660 r->next_object = NULL;
2662 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2663 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2664 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2665 if (_ptr_parent_object_guid) {
2666 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2667 } else {
2668 r->parent_object_guid = NULL;
2670 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2671 if (_ptr_meta_data_ctr) {
2672 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2673 } else {
2674 r->meta_data_ctr = NULL;
2676 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2678 if (ndr_flags & NDR_BUFFERS) {
2679 if (r->next_object) {
2680 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2681 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2682 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2683 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2685 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2686 if (r->parent_object_guid) {
2687 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2688 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2689 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2692 if (r->meta_data_ctr) {
2693 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2694 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2695 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2699 return NDR_ERR_SUCCESS;
2702 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2704 if (ndr_flags & NDR_SCALARS) {
2705 NDR_CHECK(ndr_push_align(ndr, 8));
2706 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2707 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2708 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2709 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2710 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2711 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2712 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2713 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2714 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2715 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55));
2716 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2717 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2718 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2720 if (ndr_flags & NDR_BUFFERS) {
2721 if (r->naming_context) {
2722 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2724 if (r->uptodateness_vector) {
2725 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2727 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2728 if (r->first_object) {
2729 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2732 return NDR_ERR_SUCCESS;
2735 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2737 uint32_t _ptr_naming_context;
2738 TALLOC_CTX *_mem_save_naming_context_0;
2739 uint32_t _ptr_uptodateness_vector;
2740 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2741 uint32_t _ptr_first_object;
2742 TALLOC_CTX *_mem_save_first_object_0;
2743 if (ndr_flags & NDR_SCALARS) {
2744 NDR_CHECK(ndr_pull_align(ndr, 8));
2745 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2746 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2747 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2748 if (_ptr_naming_context) {
2749 NDR_PULL_ALLOC(ndr, r->naming_context);
2750 } else {
2751 r->naming_context = NULL;
2753 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2754 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2755 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2756 if (_ptr_uptodateness_vector) {
2757 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2758 } else {
2759 r->uptodateness_vector = NULL;
2761 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2762 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2763 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2764 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2765 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2766 if (_ptr_first_object) {
2767 NDR_PULL_ALLOC(ndr, r->first_object);
2768 } else {
2769 r->first_object = NULL;
2771 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2772 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2774 if (ndr_flags & NDR_BUFFERS) {
2775 if (r->naming_context) {
2776 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2777 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2778 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2781 if (r->uptodateness_vector) {
2782 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2783 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2784 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2785 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2787 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2788 if (r->first_object) {
2789 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2790 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2791 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2792 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2795 return NDR_ERR_SUCCESS;
2798 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2800 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2801 ndr->depth++;
2802 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2803 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2804 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2805 ndr->depth++;
2806 if (r->naming_context) {
2807 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2809 ndr->depth--;
2810 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2811 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2812 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2813 ndr->depth++;
2814 if (r->uptodateness_vector) {
2815 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2817 ndr->depth--;
2818 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2819 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2820 ndr_print_uint32(ndr, "object_count", r->object_count);
2821 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);
2822 ndr_print_ptr(ndr, "first_object", r->first_object);
2823 ndr->depth++;
2824 if (r->first_object) {
2825 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2827 ndr->depth--;
2828 ndr_print_uint32(ndr, "more_data", r->more_data);
2829 ndr->depth--;
2832 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags)
2834 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic);
2837 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2839 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2840 return NDR_ERR_SUCCESS;
2843 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2845 uint32_t v;
2846 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2847 *r = v;
2848 return NDR_ERR_SUCCESS;
2851 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2853 ndr_print_uint32(ndr, name, r);
2854 ndr->depth++;
2855 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2856 ndr->depth--;
2859 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2861 if (ndr_flags & NDR_SCALARS) {
2862 NDR_CHECK(ndr_push_align(ndr, 8));
2863 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2864 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2865 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2866 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2867 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2868 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2869 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2871 if (ndr_flags & NDR_BUFFERS) {
2872 if (r->identifier) {
2873 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2875 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2877 return NDR_ERR_SUCCESS;
2880 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2882 uint32_t _ptr_identifier;
2883 TALLOC_CTX *_mem_save_identifier_0;
2884 if (ndr_flags & NDR_SCALARS) {
2885 NDR_CHECK(ndr_pull_align(ndr, 8));
2886 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2887 if (_ptr_identifier) {
2888 NDR_PULL_ALLOC(ndr, r->identifier);
2889 } else {
2890 r->identifier = NULL;
2892 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2893 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2894 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2895 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2896 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2897 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2899 if (ndr_flags & NDR_BUFFERS) {
2900 if (r->identifier) {
2901 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2902 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2903 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2904 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2906 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2908 return NDR_ERR_SUCCESS;
2911 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2913 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2914 ndr->depth++;
2915 ndr_print_ptr(ndr, "identifier", r->identifier);
2916 ndr->depth++;
2917 if (r->identifier) {
2918 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2920 ndr->depth--;
2921 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2922 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2923 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2924 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2925 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2926 ndr->depth--;
2929 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2931 uint32_t cntr_linked_attributes_1;
2932 if (ndr_flags & NDR_SCALARS) {
2933 NDR_CHECK(ndr_push_align(ndr, 8));
2934 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2935 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2936 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2937 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2938 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2939 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2940 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2941 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2943 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55));
2944 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2945 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2946 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2947 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2948 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2949 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2950 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2951 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2953 if (ndr_flags & NDR_BUFFERS) {
2954 if (r->naming_context) {
2955 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2957 if (r->uptodateness_vector) {
2958 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2960 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2961 if (r->first_object) {
2962 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2964 if (r->linked_attributes) {
2965 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
2966 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2967 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2969 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2970 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
2974 return NDR_ERR_SUCCESS;
2977 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
2979 uint32_t _ptr_naming_context;
2980 TALLOC_CTX *_mem_save_naming_context_0;
2981 uint32_t _ptr_uptodateness_vector;
2982 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2983 uint32_t _ptr_first_object;
2984 TALLOC_CTX *_mem_save_first_object_0;
2985 uint32_t _ptr_linked_attributes;
2986 uint32_t cntr_linked_attributes_1;
2987 TALLOC_CTX *_mem_save_linked_attributes_0;
2988 TALLOC_CTX *_mem_save_linked_attributes_1;
2989 if (ndr_flags & NDR_SCALARS) {
2990 NDR_CHECK(ndr_pull_align(ndr, 8));
2991 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2992 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2993 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2994 if (_ptr_naming_context) {
2995 NDR_PULL_ALLOC(ndr, r->naming_context);
2996 } else {
2997 r->naming_context = NULL;
2999 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
3000 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
3001 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
3002 if (_ptr_uptodateness_vector) {
3003 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
3004 } else {
3005 r->uptodateness_vector = NULL;
3007 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
3008 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
3009 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
3010 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
3011 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
3012 if (_ptr_first_object) {
3013 NDR_PULL_ALLOC(ndr, r->first_object);
3014 } else {
3015 r->first_object = NULL;
3017 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
3018 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
3019 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
3020 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
3021 if (r->linked_attributes_count > 1048576) {
3022 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3024 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
3025 if (_ptr_linked_attributes) {
3026 NDR_PULL_ALLOC(ndr, r->linked_attributes);
3027 } else {
3028 r->linked_attributes = NULL;
3030 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
3031 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3033 if (ndr_flags & NDR_BUFFERS) {
3034 if (r->naming_context) {
3035 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3036 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3037 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3038 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3040 if (r->uptodateness_vector) {
3041 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
3042 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
3043 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
3044 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
3046 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3047 if (r->first_object) {
3048 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
3049 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
3050 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3051 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
3053 if (r->linked_attributes) {
3054 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
3055 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3056 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
3057 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes));
3058 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
3059 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3060 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3061 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3063 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3064 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3066 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
3067 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
3069 if (r->linked_attributes) {
3070 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
3073 return NDR_ERR_SUCCESS;
3076 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
3078 uint32_t cntr_linked_attributes_1;
3079 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
3080 ndr->depth++;
3081 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3082 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3083 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3084 ndr->depth++;
3085 if (r->naming_context) {
3086 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3088 ndr->depth--;
3089 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3090 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3091 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3092 ndr->depth++;
3093 if (r->uptodateness_vector) {
3094 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3096 ndr->depth--;
3097 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3098 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3099 ndr_print_uint32(ndr, "object_count", r->object_count);
3100 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);
3101 ndr_print_ptr(ndr, "first_object", r->first_object);
3102 ndr->depth++;
3103 if (r->first_object) {
3104 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3106 ndr->depth--;
3107 ndr_print_uint32(ndr, "more_data", r->more_data);
3108 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
3109 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
3110 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
3111 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
3112 ndr->depth++;
3113 if (r->linked_attributes) {
3114 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
3115 ndr->depth++;
3116 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
3117 char *idx_1=NULL;
3118 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
3119 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
3120 free(idx_1);
3123 ndr->depth--;
3125 ndr->depth--;
3126 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
3127 ndr->depth--;
3130 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags)
3132 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic);
3135 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3137 if (ndr_flags & NDR_SCALARS) {
3138 NDR_CHECK(ndr_push_align(ndr, 1));
3140 struct ndr_push *_ndr_ctr1;
3141 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3142 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3143 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3145 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3147 if (ndr_flags & NDR_BUFFERS) {
3149 return NDR_ERR_SUCCESS;
3152 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
3154 if (ndr_flags & NDR_SCALARS) {
3155 NDR_CHECK(ndr_pull_align(ndr, 1));
3157 struct ndr_pull *_ndr_ctr1;
3158 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3159 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3160 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3162 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3164 if (ndr_flags & NDR_BUFFERS) {
3166 return NDR_ERR_SUCCESS;
3169 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3171 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
3172 ndr->depth++;
3173 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3174 ndr->depth--;
3177 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3179 if (ndr_flags & NDR_SCALARS) {
3180 NDR_CHECK(ndr_push_align(ndr, 1));
3182 struct ndr_push *_ndr_ctr6;
3183 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3184 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3185 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3187 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3189 if (ndr_flags & NDR_BUFFERS) {
3191 return NDR_ERR_SUCCESS;
3194 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
3196 if (ndr_flags & NDR_SCALARS) {
3197 NDR_CHECK(ndr_pull_align(ndr, 1));
3199 struct ndr_pull *_ndr_ctr6;
3200 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3201 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3202 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3204 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3206 if (ndr_flags & NDR_BUFFERS) {
3208 return NDR_ERR_SUCCESS;
3211 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3213 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
3214 ndr->depth++;
3215 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3216 ndr->depth--;
3219 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3221 uint32_t _ptr_ts;
3222 TALLOC_CTX *_mem_save_ts_0;
3223 if (ndr_flags & NDR_SCALARS) {
3224 NDR_CHECK(ndr_pull_align(ndr, 5));
3225 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3226 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3227 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3228 if (_ptr_ts) {
3229 NDR_PULL_ALLOC(ndr, r->ts);
3230 } else {
3231 r->ts = NULL;
3233 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3235 if (ndr_flags & NDR_BUFFERS) {
3236 if (r->ts) {
3237 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3238 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3240 struct ndr_pull *_ndr_ts;
3241 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3243 struct ndr_pull *_ndr_ts_compressed;
3244 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3245 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3246 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3248 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3250 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3253 return NDR_ERR_SUCCESS;
3256 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3258 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
3259 ndr->depth++;
3260 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3261 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3262 ndr_print_ptr(ndr, "ts", r->ts);
3263 ndr->depth++;
3264 if (r->ts) {
3265 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3267 ndr->depth--;
3268 ndr->depth--;
3271 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3273 uint32_t _ptr_ts;
3274 TALLOC_CTX *_mem_save_ts_0;
3275 if (ndr_flags & NDR_SCALARS) {
3276 NDR_CHECK(ndr_pull_align(ndr, 5));
3277 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3278 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3279 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3280 if (_ptr_ts) {
3281 NDR_PULL_ALLOC(ndr, r->ts);
3282 } else {
3283 r->ts = NULL;
3285 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3287 if (ndr_flags & NDR_BUFFERS) {
3288 if (r->ts) {
3289 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3290 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3292 struct ndr_pull *_ndr_ts;
3293 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3295 struct ndr_pull *_ndr_ts_compressed;
3296 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3297 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3298 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3300 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3305 return NDR_ERR_SUCCESS;
3308 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3310 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3311 ndr->depth++;
3312 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3313 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3314 ndr_print_ptr(ndr, "ts", r->ts);
3315 ndr->depth++;
3316 if (r->ts) {
3317 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3319 ndr->depth--;
3320 ndr->depth--;
3323 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3325 uint32_t _ptr_ts;
3326 TALLOC_CTX *_mem_save_ts_0;
3327 if (ndr_flags & NDR_SCALARS) {
3328 NDR_CHECK(ndr_pull_align(ndr, 5));
3329 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3330 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3331 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3332 if (_ptr_ts) {
3333 NDR_PULL_ALLOC(ndr, r->ts);
3334 } else {
3335 r->ts = NULL;
3337 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3339 if (ndr_flags & NDR_BUFFERS) {
3340 if (r->ts) {
3341 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3342 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3344 struct ndr_pull *_ndr_ts;
3345 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3347 struct ndr_pull *_ndr_ts_compressed;
3348 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3349 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3350 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3352 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3354 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3357 return NDR_ERR_SUCCESS;
3360 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3362 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3363 ndr->depth++;
3364 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3365 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3366 ndr_print_ptr(ndr, "ts", r->ts);
3367 ndr->depth++;
3368 if (r->ts) {
3369 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3371 ndr->depth--;
3372 ndr->depth--;
3375 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3377 uint32_t _ptr_ts;
3378 TALLOC_CTX *_mem_save_ts_0;
3379 if (ndr_flags & NDR_SCALARS) {
3380 NDR_CHECK(ndr_pull_align(ndr, 5));
3381 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3382 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3383 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3384 if (_ptr_ts) {
3385 NDR_PULL_ALLOC(ndr, r->ts);
3386 } else {
3387 r->ts = NULL;
3389 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3391 if (ndr_flags & NDR_BUFFERS) {
3392 if (r->ts) {
3393 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3394 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3396 struct ndr_pull *_ndr_ts;
3397 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3399 struct ndr_pull *_ndr_ts_compressed;
3400 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3401 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3402 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3404 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3406 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3409 return NDR_ERR_SUCCESS;
3412 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3414 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3415 ndr->depth++;
3416 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3417 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3418 ndr_print_ptr(ndr, "ts", r->ts);
3419 ndr->depth++;
3420 if (r->ts) {
3421 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3423 ndr->depth--;
3424 ndr->depth--;
3427 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3429 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3430 return NDR_ERR_SUCCESS;
3433 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3435 uint16_t v;
3436 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3437 *r = v;
3438 return NDR_ERR_SUCCESS;
3441 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3443 const char *val = NULL;
3445 switch (r) {
3446 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3447 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3449 ndr_print_enum(ndr, name, "ENUM", val, r);
3452 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3455 uint32_t _flags_save_UNION = ndr->flags;
3456 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3457 if (ndr_flags & NDR_SCALARS) {
3458 int level = ndr_push_get_switch_value(ndr, r);
3459 NDR_CHECK(ndr_push_union_align(ndr, 5));
3460 switch (level) {
3461 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3462 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3463 break; }
3465 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3466 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3467 break; }
3469 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3470 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3471 break; }
3473 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3474 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3475 break; }
3477 default:
3478 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3481 if (ndr_flags & NDR_BUFFERS) {
3482 int level = ndr_push_get_switch_value(ndr, r);
3483 switch (level) {
3484 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3485 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3486 break;
3488 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3489 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3490 break;
3492 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3493 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3494 break;
3496 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3497 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3498 break;
3500 default:
3501 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3504 ndr->flags = _flags_save_UNION;
3506 return NDR_ERR_SUCCESS;
3509 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3511 int level;
3513 uint32_t _flags_save_UNION = ndr->flags;
3514 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3515 level = ndr_pull_get_switch_value(ndr, r);
3516 if (ndr_flags & NDR_SCALARS) {
3517 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3518 switch (level) {
3519 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3520 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3521 break; }
3523 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3524 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3525 break; }
3527 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3528 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3529 break; }
3531 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3532 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3533 break; }
3535 default:
3536 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3539 if (ndr_flags & NDR_BUFFERS) {
3540 switch (level) {
3541 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3542 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3543 break;
3545 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3546 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3547 break;
3549 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3550 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3551 break;
3553 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3554 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3555 break;
3557 default:
3558 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3561 ndr->flags = _flags_save_UNION;
3563 return NDR_ERR_SUCCESS;
3566 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3568 int level;
3570 uint32_t _flags_save_UNION = ndr->flags;
3571 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3572 level = ndr_print_get_switch_value(ndr, r);
3573 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3574 switch (level) {
3575 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3576 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3577 break;
3579 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3580 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3581 break;
3583 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3584 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3585 break;
3587 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3588 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3589 break;
3591 default:
3592 ndr_print_bad_level(ndr, name, level);
3594 ndr->flags = _flags_save_UNION;
3598 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3600 if (ndr_flags & NDR_SCALARS) {
3601 NDR_CHECK(ndr_push_align(ndr, 5));
3602 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3603 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3605 if (ndr_flags & NDR_BUFFERS) {
3606 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3608 return NDR_ERR_SUCCESS;
3611 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3613 if (ndr_flags & NDR_SCALARS) {
3614 NDR_CHECK(ndr_pull_align(ndr, 5));
3615 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3616 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3618 if (ndr_flags & NDR_BUFFERS) {
3619 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3621 return NDR_ERR_SUCCESS;
3624 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3626 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3627 ndr->depth++;
3628 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3629 ndr->depth--;
3632 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3634 if (ndr_flags & NDR_SCALARS) {
3635 NDR_CHECK(ndr_push_align(ndr, 5));
3636 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
3637 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3638 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3639 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3640 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3642 if (ndr_flags & NDR_BUFFERS) {
3643 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3645 return NDR_ERR_SUCCESS;
3648 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3650 if (ndr_flags & NDR_SCALARS) {
3651 NDR_CHECK(ndr_pull_align(ndr, 5));
3652 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
3653 if (r->level < 0 || r->level > 6) {
3654 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3656 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3657 if (r->type < 2 || r->type > 3) {
3658 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3660 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3661 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3662 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3664 if (ndr_flags & NDR_BUFFERS) {
3665 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3667 return NDR_ERR_SUCCESS;
3670 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3672 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3673 ndr->depth++;
3674 ndr_print_int32(ndr, "level", r->level);
3675 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3676 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3677 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3678 ndr->depth--;
3681 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3683 if (ndr_flags & NDR_SCALARS) {
3684 int level = ndr_push_get_switch_value(ndr, r);
3685 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3686 NDR_CHECK(ndr_push_union_align(ndr, 8));
3687 switch (level) {
3688 case 1: {
3689 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3690 break; }
3692 case 2: {
3693 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3694 break; }
3696 case 6: {
3697 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3698 break; }
3700 case 7: {
3701 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3702 break; }
3704 default:
3705 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3708 if (ndr_flags & NDR_BUFFERS) {
3709 int level = ndr_push_get_switch_value(ndr, r);
3710 switch (level) {
3711 case 1:
3712 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3713 break;
3715 case 2:
3716 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3717 break;
3719 case 6:
3720 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3721 break;
3723 case 7:
3724 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3725 break;
3727 default:
3728 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3731 return NDR_ERR_SUCCESS;
3734 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3736 int level;
3737 int32_t _level;
3738 level = ndr_pull_get_switch_value(ndr, r);
3739 if (ndr_flags & NDR_SCALARS) {
3740 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3741 if (_level != level) {
3742 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3744 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3745 switch (level) {
3746 case 1: {
3747 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3748 break; }
3750 case 2: {
3751 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3752 break; }
3754 case 6: {
3755 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3756 break; }
3758 case 7: {
3759 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3760 break; }
3762 default:
3763 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3766 if (ndr_flags & NDR_BUFFERS) {
3767 switch (level) {
3768 case 1:
3769 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3770 break;
3772 case 2:
3773 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3774 break;
3776 case 6:
3777 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3778 break;
3780 case 7:
3781 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3782 break;
3784 default:
3785 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3788 return NDR_ERR_SUCCESS;
3791 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3793 int level;
3794 level = ndr_print_get_switch_value(ndr, r);
3795 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3796 switch (level) {
3797 case 1:
3798 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3799 break;
3801 case 2:
3802 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3803 break;
3805 case 6:
3806 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3807 break;
3809 case 7:
3810 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3811 break;
3813 default:
3814 ndr_print_bad_level(ndr, name, level);
3818 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3820 if (ndr_flags & NDR_SCALARS) {
3821 NDR_CHECK(ndr_push_align(ndr, 5));
3822 if (r->naming_context == NULL) {
3823 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3825 NDR_CHECK(ndr_push_ref_ptr(ndr));
3826 if (r->dest_dsa_dns_name == NULL) {
3827 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3829 NDR_CHECK(ndr_push_ref_ptr(ndr));
3830 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3831 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
3832 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3834 if (ndr_flags & NDR_BUFFERS) {
3835 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3836 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3837 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3838 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3839 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));
3841 return NDR_ERR_SUCCESS;
3844 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3846 uint32_t _ptr_naming_context;
3847 TALLOC_CTX *_mem_save_naming_context_0;
3848 uint32_t _ptr_dest_dsa_dns_name;
3849 if (ndr_flags & NDR_SCALARS) {
3850 NDR_CHECK(ndr_pull_align(ndr, 5));
3851 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3852 if (_ptr_naming_context) {
3853 NDR_PULL_ALLOC(ndr, r->naming_context);
3854 } else {
3855 r->naming_context = NULL;
3857 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3858 if (_ptr_dest_dsa_dns_name) {
3859 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3860 } else {
3861 r->dest_dsa_dns_name = NULL;
3863 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3864 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
3865 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3867 if (ndr_flags & NDR_BUFFERS) {
3868 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3869 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3870 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3871 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3872 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3873 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3874 if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) {
3875 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));
3877 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t)));
3878 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));
3880 return NDR_ERR_SUCCESS;
3883 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3885 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3886 ndr->depth++;
3887 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3888 ndr->depth++;
3889 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3890 ndr->depth--;
3891 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3892 ndr->depth++;
3893 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3894 ndr->depth--;
3895 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3896 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
3897 ndr->depth--;
3900 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3902 if (ndr_flags & NDR_SCALARS) {
3903 int level = ndr_push_get_switch_value(ndr, r);
3904 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3905 NDR_CHECK(ndr_push_union_align(ndr, 5));
3906 switch (level) {
3907 case 1: {
3908 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3909 break; }
3911 default:
3912 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3915 if (ndr_flags & NDR_BUFFERS) {
3916 int level = ndr_push_get_switch_value(ndr, r);
3917 switch (level) {
3918 case 1:
3919 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3920 break;
3922 default:
3923 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3926 return NDR_ERR_SUCCESS;
3929 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3931 int level;
3932 int32_t _level;
3933 level = ndr_pull_get_switch_value(ndr, r);
3934 if (ndr_flags & NDR_SCALARS) {
3935 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3936 if (_level != level) {
3937 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3939 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3940 switch (level) {
3941 case 1: {
3942 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3943 break; }
3945 default:
3946 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3949 if (ndr_flags & NDR_BUFFERS) {
3950 switch (level) {
3951 case 1:
3952 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3953 break;
3955 default:
3956 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3959 return NDR_ERR_SUCCESS;
3962 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3964 int level;
3965 level = ndr_print_get_switch_value(ndr, r);
3966 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
3967 switch (level) {
3968 case 1:
3969 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
3970 break;
3972 default:
3973 ndr_print_bad_level(ndr, name, level);
3977 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
3979 if (ndr_flags & NDR_SCALARS) {
3980 NDR_CHECK(ndr_push_align(ndr, 5));
3981 if (r->naming_context == NULL) {
3982 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3984 NDR_CHECK(ndr_push_ref_ptr(ndr));
3985 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
3986 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
3987 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
3988 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3990 if (ndr_flags & NDR_BUFFERS) {
3991 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3992 if (r->source_dsa_address) {
3993 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3994 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3995 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3996 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));
3999 return NDR_ERR_SUCCESS;
4002 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
4004 uint32_t _ptr_naming_context;
4005 TALLOC_CTX *_mem_save_naming_context_0;
4006 uint32_t _ptr_source_dsa_address;
4007 TALLOC_CTX *_mem_save_source_dsa_address_0;
4008 if (ndr_flags & NDR_SCALARS) {
4009 NDR_CHECK(ndr_pull_align(ndr, 5));
4010 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4011 if (_ptr_naming_context) {
4012 NDR_PULL_ALLOC(ndr, r->naming_context);
4013 } else {
4014 r->naming_context = NULL;
4016 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4017 if (_ptr_source_dsa_address) {
4018 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4019 } else {
4020 r->source_dsa_address = NULL;
4022 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4023 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4024 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4026 if (ndr_flags & NDR_BUFFERS) {
4027 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4028 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4029 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4030 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4031 if (r->source_dsa_address) {
4032 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4033 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4034 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4035 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4036 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4037 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));
4039 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4040 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));
4041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4044 return NDR_ERR_SUCCESS;
4047 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
4049 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
4050 ndr->depth++;
4051 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4052 ndr->depth++;
4053 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4054 ndr->depth--;
4055 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4056 ndr->depth++;
4057 if (r->source_dsa_address) {
4058 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4060 ndr->depth--;
4061 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4062 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4063 ndr->depth--;
4066 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
4068 if (ndr_flags & NDR_SCALARS) {
4069 NDR_CHECK(ndr_push_align(ndr, 5));
4070 if (r->naming_context == NULL) {
4071 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4073 NDR_CHECK(ndr_push_ref_ptr(ndr));
4074 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
4075 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
4076 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4077 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4078 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4079 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4081 if (ndr_flags & NDR_BUFFERS) {
4082 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4083 if (r->source_dsa_dn) {
4084 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4086 if (r->transport_dn) {
4087 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4089 if (r->source_dsa_address) {
4090 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4091 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4092 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4093 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));
4096 return NDR_ERR_SUCCESS;
4099 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
4101 uint32_t _ptr_naming_context;
4102 TALLOC_CTX *_mem_save_naming_context_0;
4103 uint32_t _ptr_source_dsa_dn;
4104 TALLOC_CTX *_mem_save_source_dsa_dn_0;
4105 uint32_t _ptr_transport_dn;
4106 TALLOC_CTX *_mem_save_transport_dn_0;
4107 uint32_t _ptr_source_dsa_address;
4108 TALLOC_CTX *_mem_save_source_dsa_address_0;
4109 if (ndr_flags & NDR_SCALARS) {
4110 NDR_CHECK(ndr_pull_align(ndr, 5));
4111 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4112 if (_ptr_naming_context) {
4113 NDR_PULL_ALLOC(ndr, r->naming_context);
4114 } else {
4115 r->naming_context = NULL;
4117 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
4118 if (_ptr_source_dsa_dn) {
4119 NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
4120 } else {
4121 r->source_dsa_dn = NULL;
4123 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
4124 if (_ptr_transport_dn) {
4125 NDR_PULL_ALLOC(ndr, r->transport_dn);
4126 } else {
4127 r->transport_dn = NULL;
4129 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4130 if (_ptr_source_dsa_address) {
4131 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4132 } else {
4133 r->source_dsa_address = NULL;
4135 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4136 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4137 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4139 if (ndr_flags & NDR_BUFFERS) {
4140 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4141 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4142 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4143 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4144 if (r->source_dsa_dn) {
4145 _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4146 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
4147 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4148 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
4150 if (r->transport_dn) {
4151 _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4152 NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
4153 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4154 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
4156 if (r->source_dsa_address) {
4157 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4158 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4159 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4160 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4161 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4162 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));
4164 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4165 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));
4166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4169 return NDR_ERR_SUCCESS;
4172 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
4174 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
4175 ndr->depth++;
4176 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4177 ndr->depth++;
4178 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4179 ndr->depth--;
4180 ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
4181 ndr->depth++;
4182 if (r->source_dsa_dn) {
4183 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
4185 ndr->depth--;
4186 ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
4187 ndr->depth++;
4188 if (r->transport_dn) {
4189 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
4191 ndr->depth--;
4192 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4193 ndr->depth++;
4194 if (r->source_dsa_address) {
4195 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4197 ndr->depth--;
4198 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4199 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4200 ndr->depth--;
4203 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
4205 if (ndr_flags & NDR_SCALARS) {
4206 int level = ndr_push_get_switch_value(ndr, r);
4207 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4208 NDR_CHECK(ndr_push_union_align(ndr, 5));
4209 switch (level) {
4210 case 1: {
4211 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4212 break; }
4214 case 2: {
4215 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4216 break; }
4218 default:
4219 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4222 if (ndr_flags & NDR_BUFFERS) {
4223 int level = ndr_push_get_switch_value(ndr, r);
4224 switch (level) {
4225 case 1:
4226 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4227 break;
4229 case 2:
4230 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4231 break;
4233 default:
4234 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4237 return NDR_ERR_SUCCESS;
4240 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
4242 int level;
4243 int32_t _level;
4244 level = ndr_pull_get_switch_value(ndr, r);
4245 if (ndr_flags & NDR_SCALARS) {
4246 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4247 if (_level != level) {
4248 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4250 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4251 switch (level) {
4252 case 1: {
4253 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4254 break; }
4256 case 2: {
4257 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4258 break; }
4260 default:
4261 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4264 if (ndr_flags & NDR_BUFFERS) {
4265 switch (level) {
4266 case 1:
4267 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4268 break;
4270 case 2:
4271 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4272 break;
4274 default:
4275 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4278 return NDR_ERR_SUCCESS;
4281 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4283 int level;
4284 level = ndr_print_get_switch_value(ndr, r);
4285 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4286 switch (level) {
4287 case 1:
4288 ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4289 break;
4291 case 2:
4292 ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4293 break;
4295 default:
4296 ndr_print_bad_level(ndr, name, level);
4300 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4302 if (ndr_flags & NDR_SCALARS) {
4303 NDR_CHECK(ndr_push_align(ndr, 5));
4304 if (r->naming_context == NULL) {
4305 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4307 NDR_CHECK(ndr_push_ref_ptr(ndr));
4308 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4309 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4310 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4312 if (ndr_flags & NDR_BUFFERS) {
4313 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4314 if (r->source_dsa_address) {
4315 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4316 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4317 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4318 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));
4321 return NDR_ERR_SUCCESS;
4324 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4326 uint32_t _ptr_naming_context;
4327 TALLOC_CTX *_mem_save_naming_context_0;
4328 uint32_t _ptr_source_dsa_address;
4329 TALLOC_CTX *_mem_save_source_dsa_address_0;
4330 if (ndr_flags & NDR_SCALARS) {
4331 NDR_CHECK(ndr_pull_align(ndr, 5));
4332 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4333 if (_ptr_naming_context) {
4334 NDR_PULL_ALLOC(ndr, r->naming_context);
4335 } else {
4336 r->naming_context = NULL;
4338 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4339 if (_ptr_source_dsa_address) {
4340 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4341 } else {
4342 r->source_dsa_address = NULL;
4344 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4345 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4347 if (ndr_flags & NDR_BUFFERS) {
4348 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4349 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4350 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4351 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4352 if (r->source_dsa_address) {
4353 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4354 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4355 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4356 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4357 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4358 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));
4360 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4361 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));
4362 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4365 return NDR_ERR_SUCCESS;
4368 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4370 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4371 ndr->depth++;
4372 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4373 ndr->depth++;
4374 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4375 ndr->depth--;
4376 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4377 ndr->depth++;
4378 if (r->source_dsa_address) {
4379 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4381 ndr->depth--;
4382 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4383 ndr->depth--;
4386 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4388 if (ndr_flags & NDR_SCALARS) {
4389 int level = ndr_push_get_switch_value(ndr, r);
4390 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4391 NDR_CHECK(ndr_push_union_align(ndr, 5));
4392 switch (level) {
4393 case 1: {
4394 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4395 break; }
4397 default:
4398 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4401 if (ndr_flags & NDR_BUFFERS) {
4402 int level = ndr_push_get_switch_value(ndr, r);
4403 switch (level) {
4404 case 1:
4405 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4406 break;
4408 default:
4409 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4412 return NDR_ERR_SUCCESS;
4415 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4417 int level;
4418 int32_t _level;
4419 level = ndr_pull_get_switch_value(ndr, r);
4420 if (ndr_flags & NDR_SCALARS) {
4421 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4422 if (_level != level) {
4423 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4425 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4426 switch (level) {
4427 case 1: {
4428 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4429 break; }
4431 default:
4432 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4435 if (ndr_flags & NDR_BUFFERS) {
4436 switch (level) {
4437 case 1:
4438 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4439 break;
4441 default:
4442 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4445 return NDR_ERR_SUCCESS;
4448 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4450 int level;
4451 level = ndr_print_get_switch_value(ndr, r);
4452 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4453 switch (level) {
4454 case 1:
4455 ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4456 break;
4458 default:
4459 ndr_print_bad_level(ndr, name, level);
4463 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4465 if (ndr_flags & NDR_SCALARS) {
4466 NDR_CHECK(ndr_push_align(ndr, 5));
4467 if (r->naming_context == NULL) {
4468 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4470 NDR_CHECK(ndr_push_ref_ptr(ndr));
4471 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4472 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4473 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags));
4475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4476 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4477 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4479 if (ndr_flags & NDR_BUFFERS) {
4480 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4481 if (r->source_dra_address) {
4482 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4483 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4484 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4485 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));
4488 return NDR_ERR_SUCCESS;
4491 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4493 uint32_t _ptr_naming_context;
4494 TALLOC_CTX *_mem_save_naming_context_0;
4495 uint32_t _ptr_source_dra_address;
4496 TALLOC_CTX *_mem_save_source_dra_address_0;
4497 if (ndr_flags & NDR_SCALARS) {
4498 NDR_CHECK(ndr_pull_align(ndr, 5));
4499 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4500 if (_ptr_naming_context) {
4501 NDR_PULL_ALLOC(ndr, r->naming_context);
4502 } else {
4503 r->naming_context = NULL;
4505 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4506 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4507 if (_ptr_source_dra_address) {
4508 NDR_PULL_ALLOC(ndr, r->source_dra_address);
4509 } else {
4510 r->source_dra_address = NULL;
4512 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4513 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags));
4514 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4515 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4516 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4518 if (ndr_flags & NDR_BUFFERS) {
4519 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4520 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4521 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4523 if (r->source_dra_address) {
4524 _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4525 NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4526 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4527 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4528 if (ndr_get_array_length(ndr, &r->source_dra_address) > ndr_get_array_size(ndr, &r->source_dra_address)) {
4529 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));
4531 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t)));
4532 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));
4533 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4536 return NDR_ERR_SUCCESS;
4539 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4541 ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4542 ndr->depth++;
4543 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4544 ndr->depth++;
4545 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4546 ndr->depth--;
4547 ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4548 ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4549 ndr->depth++;
4550 if (r->source_dra_address) {
4551 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4553 ndr->depth--;
4554 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4555 ndr_print_uint32(ndr, "replica_flags", r->replica_flags);
4556 ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4557 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4558 ndr->depth--;
4561 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4563 if (ndr_flags & NDR_SCALARS) {
4564 int level = ndr_push_get_switch_value(ndr, r);
4565 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4566 NDR_CHECK(ndr_push_union_align(ndr, 5));
4567 switch (level) {
4568 case 1: {
4569 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4570 break; }
4572 default:
4573 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4576 if (ndr_flags & NDR_BUFFERS) {
4577 int level = ndr_push_get_switch_value(ndr, r);
4578 switch (level) {
4579 case 1:
4580 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4581 break;
4583 default:
4584 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4587 return NDR_ERR_SUCCESS;
4590 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4592 int level;
4593 int32_t _level;
4594 level = ndr_pull_get_switch_value(ndr, r);
4595 if (ndr_flags & NDR_SCALARS) {
4596 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4597 if (_level != level) {
4598 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4600 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4601 switch (level) {
4602 case 1: {
4603 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4604 break; }
4606 default:
4607 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4610 if (ndr_flags & NDR_BUFFERS) {
4611 switch (level) {
4612 case 1:
4613 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4614 break;
4616 default:
4617 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4620 return NDR_ERR_SUCCESS;
4623 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
4625 int level;
4626 level = ndr_print_get_switch_value(ndr, r);
4627 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
4628 switch (level) {
4629 case 1:
4630 ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
4631 break;
4633 default:
4634 ndr_print_bad_level(ndr, name, level);
4638 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
4640 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4641 return NDR_ERR_SUCCESS;
4644 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
4646 uint32_t v;
4647 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4648 *r = v;
4649 return NDR_ERR_SUCCESS;
4652 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
4654 const char *val = NULL;
4656 switch (r) {
4657 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4658 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4659 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4660 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4661 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4662 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4663 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4665 ndr_print_enum(ndr, name, "ENUM", val, r);
4668 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
4670 uint32_t cntr_info_array_1;
4671 uint32_t cntr_group_attrs_1;
4672 uint32_t cntr_sids_1;
4673 if (ndr_flags & NDR_SCALARS) {
4674 NDR_CHECK(ndr_push_align(ndr, 5));
4675 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4676 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4677 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4678 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4679 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
4680 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4681 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4683 if (ndr_flags & NDR_BUFFERS) {
4684 if (r->info_array) {
4685 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4686 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4687 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4689 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4690 if (r->info_array[cntr_info_array_1]) {
4691 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4695 if (r->group_attrs) {
4696 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4697 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4698 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
4701 if (r->sids) {
4702 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
4703 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4704 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
4706 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4707 if (r->sids[cntr_sids_1]) {
4708 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4713 return NDR_ERR_SUCCESS;
4716 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
4718 uint32_t _ptr_info_array;
4719 uint32_t cntr_info_array_1;
4720 TALLOC_CTX *_mem_save_info_array_0;
4721 TALLOC_CTX *_mem_save_info_array_1;
4722 TALLOC_CTX *_mem_save_info_array_2;
4723 uint32_t _ptr_group_attrs;
4724 uint32_t cntr_group_attrs_1;
4725 TALLOC_CTX *_mem_save_group_attrs_0;
4726 TALLOC_CTX *_mem_save_group_attrs_1;
4727 uint32_t _ptr_sids;
4728 uint32_t cntr_sids_1;
4729 TALLOC_CTX *_mem_save_sids_0;
4730 TALLOC_CTX *_mem_save_sids_1;
4731 TALLOC_CTX *_mem_save_sids_2;
4732 if (ndr_flags & NDR_SCALARS) {
4733 NDR_CHECK(ndr_pull_align(ndr, 5));
4734 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4735 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
4736 if (r->num_memberships > 10000) {
4737 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4739 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
4740 if (r->num_sids > 10000) {
4741 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4743 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4744 if (_ptr_info_array) {
4745 NDR_PULL_ALLOC(ndr, r->info_array);
4746 } else {
4747 r->info_array = NULL;
4749 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
4750 if (_ptr_group_attrs) {
4751 NDR_PULL_ALLOC(ndr, r->group_attrs);
4752 } else {
4753 r->group_attrs = NULL;
4755 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4756 if (_ptr_sids) {
4757 NDR_PULL_ALLOC(ndr, r->sids);
4758 } else {
4759 r->sids = NULL;
4761 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4763 if (ndr_flags & NDR_BUFFERS) {
4764 if (r->info_array) {
4765 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4766 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4767 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4768 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4769 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4770 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4771 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4772 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4773 if (_ptr_info_array) {
4774 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4775 } else {
4776 r->info_array[cntr_info_array_1] = NULL;
4779 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4780 if (r->info_array[cntr_info_array_1]) {
4781 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4782 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4783 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4784 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4788 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4790 if (r->group_attrs) {
4791 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
4792 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4793 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
4794 NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs));
4795 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
4796 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4797 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4798 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
4800 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
4801 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
4803 if (r->sids) {
4804 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4805 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4806 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4807 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
4808 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4809 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4810 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4811 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4812 if (_ptr_sids) {
4813 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
4814 } else {
4815 r->sids[cntr_sids_1] = NULL;
4818 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4819 if (r->sids[cntr_sids_1]) {
4820 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
4821 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
4822 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4823 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
4826 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4827 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4829 if (r->info_array) {
4830 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
4832 if (r->group_attrs) {
4833 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
4835 if (r->sids) {
4836 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
4839 return NDR_ERR_SUCCESS;
4842 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
4844 uint32_t cntr_info_array_1;
4845 uint32_t cntr_group_attrs_1;
4846 uint32_t cntr_sids_1;
4847 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
4848 ndr->depth++;
4849 ndr_print_NTSTATUS(ndr, "status", r->status);
4850 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
4851 ndr_print_uint32(ndr, "num_sids", r->num_sids);
4852 ndr_print_ptr(ndr, "info_array", r->info_array);
4853 ndr->depth++;
4854 if (r->info_array) {
4855 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
4856 ndr->depth++;
4857 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
4858 char *idx_1=NULL;
4859 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4860 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4861 ndr->depth++;
4862 if (r->info_array[cntr_info_array_1]) {
4863 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4865 ndr->depth--;
4866 free(idx_1);
4869 ndr->depth--;
4871 ndr->depth--;
4872 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
4873 ndr->depth++;
4874 if (r->group_attrs) {
4875 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
4876 ndr->depth++;
4877 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
4878 char *idx_1=NULL;
4879 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
4880 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
4881 free(idx_1);
4884 ndr->depth--;
4886 ndr->depth--;
4887 ndr_print_ptr(ndr, "sids", r->sids);
4888 ndr->depth++;
4889 if (r->sids) {
4890 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
4891 ndr->depth++;
4892 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
4893 char *idx_1=NULL;
4894 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
4895 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
4896 ndr->depth++;
4897 if (r->sids[cntr_sids_1]) {
4898 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
4900 ndr->depth--;
4901 free(idx_1);
4904 ndr->depth--;
4906 ndr->depth--;
4907 ndr->depth--;
4910 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
4912 if (ndr_flags & NDR_SCALARS) {
4913 int level = ndr_push_get_switch_value(ndr, r);
4914 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4915 NDR_CHECK(ndr_push_union_align(ndr, 5));
4916 switch (level) {
4917 case 1: {
4918 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4919 break; }
4921 default:
4922 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4925 if (ndr_flags & NDR_BUFFERS) {
4926 int level = ndr_push_get_switch_value(ndr, r);
4927 switch (level) {
4928 case 1:
4929 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4930 break;
4932 default:
4933 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4936 return NDR_ERR_SUCCESS;
4939 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
4941 int level;
4942 int32_t _level;
4943 level = ndr_pull_get_switch_value(ndr, r);
4944 if (ndr_flags & NDR_SCALARS) {
4945 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4946 if (_level != level) {
4947 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4949 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4950 switch (level) {
4951 case 1: {
4952 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4953 break; }
4955 default:
4956 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4959 if (ndr_flags & NDR_BUFFERS) {
4960 switch (level) {
4961 case 1:
4962 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4963 break;
4965 default:
4966 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4969 return NDR_ERR_SUCCESS;
4972 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
4974 int level;
4975 level = ndr_print_get_switch_value(ndr, r);
4976 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
4977 switch (level) {
4978 case 1:
4979 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
4980 break;
4982 default:
4983 ndr_print_bad_level(ndr, name, level);
4987 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
4989 uint32_t cntr_info_array_1;
4990 if (ndr_flags & NDR_SCALARS) {
4991 NDR_CHECK(ndr_push_align(ndr, 5));
4992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4993 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
4995 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
4996 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
4997 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4999 if (ndr_flags & NDR_BUFFERS) {
5000 if (r->info_array) {
5001 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5002 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5003 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
5005 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5006 if (r->info_array[cntr_info_array_1]) {
5007 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5011 if (r->domain) {
5012 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5015 return NDR_ERR_SUCCESS;
5018 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
5020 uint32_t _ptr_info_array;
5021 uint32_t cntr_info_array_1;
5022 TALLOC_CTX *_mem_save_info_array_0;
5023 TALLOC_CTX *_mem_save_info_array_1;
5024 TALLOC_CTX *_mem_save_info_array_2;
5025 uint32_t _ptr_domain;
5026 TALLOC_CTX *_mem_save_domain_0;
5027 if (ndr_flags & NDR_SCALARS) {
5028 NDR_CHECK(ndr_pull_align(ndr, 5));
5029 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5030 if (r->count < 1 || r->count > 10000) {
5031 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5033 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5034 if (_ptr_info_array) {
5035 NDR_PULL_ALLOC(ndr, r->info_array);
5036 } else {
5037 r->info_array = NULL;
5039 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5040 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
5041 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5042 if (_ptr_domain) {
5043 NDR_PULL_ALLOC(ndr, r->domain);
5044 } else {
5045 r->domain = NULL;
5047 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5049 if (ndr_flags & NDR_BUFFERS) {
5050 if (r->info_array) {
5051 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5052 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5053 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5054 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
5055 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5056 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5057 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5058 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5059 if (_ptr_info_array) {
5060 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5061 } else {
5062 r->info_array[cntr_info_array_1] = NULL;
5065 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5066 if (r->info_array[cntr_info_array_1]) {
5067 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5068 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5069 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5070 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5073 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5076 if (r->domain) {
5077 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5078 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5079 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5080 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5082 if (r->info_array) {
5083 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
5086 return NDR_ERR_SUCCESS;
5089 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
5091 uint32_t cntr_info_array_1;
5092 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
5093 ndr->depth++;
5094 ndr_print_uint32(ndr, "count", r->count);
5095 ndr_print_ptr(ndr, "info_array", r->info_array);
5096 ndr->depth++;
5097 if (r->info_array) {
5098 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
5099 ndr->depth++;
5100 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
5101 char *idx_1=NULL;
5102 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
5103 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5104 ndr->depth++;
5105 if (r->info_array[cntr_info_array_1]) {
5106 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5108 ndr->depth--;
5109 free(idx_1);
5112 ndr->depth--;
5114 ndr->depth--;
5115 ndr_print_uint32(ndr, "flags", r->flags);
5116 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
5117 ndr_print_ptr(ndr, "domain", r->domain);
5118 ndr->depth++;
5119 if (r->domain) {
5120 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
5122 ndr->depth--;
5123 ndr->depth--;
5126 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
5128 if (ndr_flags & NDR_SCALARS) {
5129 int level = ndr_push_get_switch_value(ndr, r);
5130 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5131 NDR_CHECK(ndr_push_union_align(ndr, 5));
5132 switch (level) {
5133 case 1: {
5134 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5135 break; }
5137 default:
5138 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5141 if (ndr_flags & NDR_BUFFERS) {
5142 int level = ndr_push_get_switch_value(ndr, r);
5143 switch (level) {
5144 case 1:
5145 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5146 break;
5148 default:
5149 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5152 return NDR_ERR_SUCCESS;
5155 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
5157 int level;
5158 int32_t _level;
5159 level = ndr_pull_get_switch_value(ndr, r);
5160 if (ndr_flags & NDR_SCALARS) {
5161 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5162 if (_level != level) {
5163 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5165 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5166 switch (level) {
5167 case 1: {
5168 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5169 break; }
5171 default:
5172 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5175 if (ndr_flags & NDR_BUFFERS) {
5176 switch (level) {
5177 case 1:
5178 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5179 break;
5181 default:
5182 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5185 return NDR_ERR_SUCCESS;
5188 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
5190 int level;
5191 level = ndr_print_get_switch_value(ndr, r);
5192 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
5193 switch (level) {
5194 case 1:
5195 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
5196 break;
5198 default:
5199 ndr_print_bad_level(ndr, name, level);
5203 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5205 if (ndr_flags & NDR_SCALARS) {
5206 NDR_CHECK(ndr_push_align(ndr, 5));
5207 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5208 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5210 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5211 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5213 if (ndr_flags & NDR_BUFFERS) {
5214 if (r->data) {
5215 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
5216 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5219 return NDR_ERR_SUCCESS;
5222 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5224 uint32_t _ptr_data;
5225 TALLOC_CTX *_mem_save_data_0;
5226 if (ndr_flags & NDR_SCALARS) {
5227 NDR_CHECK(ndr_pull_align(ndr, 5));
5228 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5229 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5230 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5231 if (r->length > 0x00A00000) {
5232 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5234 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5235 if (_ptr_data) {
5236 NDR_PULL_ALLOC(ndr, r->data);
5237 } else {
5238 r->data = NULL;
5240 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5242 if (ndr_flags & NDR_BUFFERS) {
5243 if (r->data) {
5244 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5245 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5246 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5247 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
5248 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
5249 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5251 if (r->data) {
5252 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5255 return NDR_ERR_SUCCESS;
5258 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5260 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5261 ndr->depth++;
5262 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5263 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5264 ndr_print_uint32(ndr, "length", r->length);
5265 ndr_print_ptr(ndr, "data", r->data);
5266 ndr->depth++;
5267 if (r->data) {
5268 ndr_print_array_uint8(ndr, "data", r->data, r->length);
5270 ndr->depth--;
5271 ndr->depth--;
5274 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5276 if (ndr_flags & NDR_SCALARS) {
5277 int level = ndr_push_get_switch_value(ndr, r);
5278 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5279 NDR_CHECK(ndr_push_union_align(ndr, 5));
5280 switch (level) {
5281 case 1: {
5282 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5283 break; }
5285 default:
5286 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5289 if (ndr_flags & NDR_BUFFERS) {
5290 int level = ndr_push_get_switch_value(ndr, r);
5291 switch (level) {
5292 case 1:
5293 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5294 break;
5296 default:
5297 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5300 return NDR_ERR_SUCCESS;
5303 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5305 int level;
5306 uint32_t _level;
5307 level = ndr_pull_get_switch_value(ndr, r);
5308 if (ndr_flags & NDR_SCALARS) {
5309 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5310 if (_level != level) {
5311 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5313 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5314 switch (level) {
5315 case 1: {
5316 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5317 break; }
5319 default:
5320 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5323 if (ndr_flags & NDR_BUFFERS) {
5324 switch (level) {
5325 case 1:
5326 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5327 break;
5329 default:
5330 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5333 return NDR_ERR_SUCCESS;
5336 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5338 int level;
5339 level = ndr_print_get_switch_value(ndr, r);
5340 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5341 switch (level) {
5342 case 1:
5343 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5344 break;
5346 default:
5347 ndr_print_bad_level(ndr, name, level);
5351 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5353 if (ndr_flags & NDR_SCALARS) {
5354 NDR_CHECK(ndr_push_align(ndr, 8));
5355 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
5356 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
5357 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
5358 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time2));
5359 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3));
5360 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time4));
5361 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5));
5362 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time6));
5363 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5364 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data1));
5365 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data2));
5366 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5368 if (ndr_flags & NDR_BUFFERS) {
5369 if (r->data1) {
5370 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length1));
5371 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data1, r->length1));
5373 if (r->data2) {
5374 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length2));
5375 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data2, r->length2));
5378 return NDR_ERR_SUCCESS;
5381 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5383 uint32_t _ptr_data1;
5384 TALLOC_CTX *_mem_save_data1_0;
5385 uint32_t _ptr_data2;
5386 TALLOC_CTX *_mem_save_data2_0;
5387 if (ndr_flags & NDR_SCALARS) {
5388 NDR_CHECK(ndr_pull_align(ndr, 8));
5389 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length1));
5390 if (r->length1 > 0x00A00000) {
5391 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5393 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length2));
5394 if (r->length2 > 0x00A00000) {
5395 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5397 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
5398 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time2));
5399 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3));
5400 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time4));
5401 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5));
5402 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time6));
5403 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5404 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data1));
5405 if (_ptr_data1) {
5406 NDR_PULL_ALLOC(ndr, r->data1);
5407 } else {
5408 r->data1 = NULL;
5410 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data2));
5411 if (_ptr_data2) {
5412 NDR_PULL_ALLOC(ndr, r->data2);
5413 } else {
5414 r->data2 = NULL;
5416 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5418 if (ndr_flags & NDR_BUFFERS) {
5419 if (r->data1) {
5420 _mem_save_data1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5421 NDR_PULL_SET_MEM_CTX(ndr, r->data1, 0);
5422 NDR_CHECK(ndr_pull_array_size(ndr, &r->data1));
5423 NDR_PULL_ALLOC_N(ndr, r->data1, ndr_get_array_size(ndr, &r->data1));
5424 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data1, ndr_get_array_size(ndr, &r->data1)));
5425 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data1_0, 0);
5427 if (r->data2) {
5428 _mem_save_data2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5429 NDR_PULL_SET_MEM_CTX(ndr, r->data2, 0);
5430 NDR_CHECK(ndr_pull_array_size(ndr, &r->data2));
5431 NDR_PULL_ALLOC_N(ndr, r->data2, ndr_get_array_size(ndr, &r->data2));
5432 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data2, ndr_get_array_size(ndr, &r->data2)));
5433 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data2_0, 0);
5435 if (r->data1) {
5436 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data1, r->length1));
5438 if (r->data2) {
5439 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data2, r->length2));
5442 return NDR_ERR_SUCCESS;
5445 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5447 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5448 ndr->depth++;
5449 ndr_print_uint32(ndr, "length1", r->length1);
5450 ndr_print_uint32(ndr, "length2", r->length2);
5451 ndr_print_hyper(ndr, "unknown1", r->unknown1);
5452 ndr_print_NTTIME(ndr, "time2", r->time2);
5453 ndr_print_hyper(ndr, "unknown3", r->unknown3);
5454 ndr_print_NTTIME(ndr, "time4", r->time4);
5455 ndr_print_hyper(ndr, "unknown5", r->unknown5);
5456 ndr_print_NTTIME(ndr, "time6", r->time6);
5457 ndr_print_NTSTATUS(ndr, "status", r->status);
5458 ndr_print_ptr(ndr, "data1", r->data1);
5459 ndr->depth++;
5460 if (r->data1) {
5461 ndr_print_array_uint8(ndr, "data1", r->data1, r->length1);
5463 ndr->depth--;
5464 ndr_print_ptr(ndr, "data2", r->data2);
5465 ndr->depth++;
5466 if (r->data2) {
5467 ndr_print_array_uint8(ndr, "data2", r->data2, r->length2);
5469 ndr->depth--;
5470 ndr->depth--;
5473 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5475 if (ndr_flags & NDR_SCALARS) {
5476 int level = ndr_push_get_switch_value(ndr, r);
5477 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5478 NDR_CHECK(ndr_push_union_align(ndr, 8));
5479 switch (level) {
5480 case 1: {
5481 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5482 break; }
5484 default:
5485 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5488 if (ndr_flags & NDR_BUFFERS) {
5489 int level = ndr_push_get_switch_value(ndr, r);
5490 switch (level) {
5491 case 1:
5492 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5493 break;
5495 default:
5496 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5499 return NDR_ERR_SUCCESS;
5502 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5504 int level;
5505 uint32_t _level;
5506 level = ndr_pull_get_switch_value(ndr, r);
5507 if (ndr_flags & NDR_SCALARS) {
5508 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5509 if (_level != level) {
5510 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5512 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5513 switch (level) {
5514 case 1: {
5515 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5516 break; }
5518 default:
5519 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5522 if (ndr_flags & NDR_BUFFERS) {
5523 switch (level) {
5524 case 1:
5525 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5526 break;
5528 default:
5529 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5532 return NDR_ERR_SUCCESS;
5535 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5537 int level;
5538 level = ndr_print_get_switch_value(ndr, r);
5539 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5540 switch (level) {
5541 case 1:
5542 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5543 break;
5545 default:
5546 ndr_print_bad_level(ndr, name, level);
5550 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5552 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5553 return NDR_ERR_SUCCESS;
5556 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5558 uint32_t v;
5559 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5560 *r = v;
5561 return NDR_ERR_SUCCESS;
5564 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5566 const char *val = NULL;
5568 switch (r) {
5569 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5570 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5571 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5572 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5573 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5574 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5575 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5576 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5578 ndr_print_enum(ndr, name, "ENUM", val, r);
5581 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5583 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5584 return NDR_ERR_SUCCESS;
5587 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5589 uint32_t v;
5590 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5591 *r = v;
5592 return NDR_ERR_SUCCESS;
5595 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5597 const char *val = NULL;
5599 switch (r) {
5600 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5601 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5602 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5603 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5604 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5606 ndr_print_enum(ndr, name, "ENUM", val, r);
5609 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5611 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5612 return NDR_ERR_SUCCESS;
5615 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5617 uint32_t v;
5618 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5619 *r = v;
5620 return NDR_ERR_SUCCESS;
5623 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5625 const char *val = NULL;
5627 switch (r) {
5628 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5629 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5630 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5631 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5632 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5633 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5634 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5635 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5636 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5637 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5638 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5640 ndr_print_enum(ndr, name, "ENUM", val, r);
5643 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5645 if (ndr_flags & NDR_SCALARS) {
5646 NDR_CHECK(ndr_push_align(ndr, 5));
5647 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5648 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5650 if (ndr_flags & NDR_BUFFERS) {
5651 if (r->str) {
5652 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5653 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5654 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5655 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5658 return NDR_ERR_SUCCESS;
5661 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5663 uint32_t _ptr_str;
5664 TALLOC_CTX *_mem_save_str_0;
5665 if (ndr_flags & NDR_SCALARS) {
5666 NDR_CHECK(ndr_pull_align(ndr, 5));
5667 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5668 if (_ptr_str) {
5669 NDR_PULL_ALLOC(ndr, r->str);
5670 } else {
5671 r->str = NULL;
5673 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5675 if (ndr_flags & NDR_BUFFERS) {
5676 if (r->str) {
5677 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5678 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5679 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5680 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5681 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
5682 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));
5684 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
5685 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
5686 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5689 return NDR_ERR_SUCCESS;
5692 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5694 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5695 ndr->depth++;
5696 ndr_print_ptr(ndr, "str", r->str);
5697 ndr->depth++;
5698 if (r->str) {
5699 ndr_print_string(ndr, "str", r->str);
5701 ndr->depth--;
5702 ndr->depth--;
5705 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5707 uint32_t cntr_names_1;
5708 if (ndr_flags & NDR_SCALARS) {
5709 NDR_CHECK(ndr_push_align(ndr, 5));
5710 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5711 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5712 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5713 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5714 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5715 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5716 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5717 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5719 if (ndr_flags & NDR_BUFFERS) {
5720 if (r->names) {
5721 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5722 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5723 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5725 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5726 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5730 return NDR_ERR_SUCCESS;
5733 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5735 uint32_t _ptr_names;
5736 uint32_t cntr_names_1;
5737 TALLOC_CTX *_mem_save_names_0;
5738 TALLOC_CTX *_mem_save_names_1;
5739 if (ndr_flags & NDR_SCALARS) {
5740 NDR_CHECK(ndr_pull_align(ndr, 5));
5741 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5742 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5743 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5744 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5745 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5746 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5747 if (r->count < 1 || r->count > 10000) {
5748 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5750 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5751 if (_ptr_names) {
5752 NDR_PULL_ALLOC(ndr, r->names);
5753 } else {
5754 r->names = NULL;
5756 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5758 if (ndr_flags & NDR_BUFFERS) {
5759 if (r->names) {
5760 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5761 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5762 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
5763 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
5764 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5765 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5766 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5767 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5769 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5770 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5772 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
5773 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
5775 if (r->names) {
5776 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
5779 return NDR_ERR_SUCCESS;
5782 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
5784 uint32_t cntr_names_1;
5785 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
5786 ndr->depth++;
5787 ndr_print_uint32(ndr, "codepage", r->codepage);
5788 ndr_print_uint32(ndr, "language", r->language);
5789 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
5790 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
5791 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
5792 ndr_print_uint32(ndr, "count", r->count);
5793 ndr_print_ptr(ndr, "names", r->names);
5794 ndr->depth++;
5795 if (r->names) {
5796 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
5797 ndr->depth++;
5798 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
5799 char *idx_1=NULL;
5800 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
5801 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
5802 free(idx_1);
5805 ndr->depth--;
5807 ndr->depth--;
5808 ndr->depth--;
5811 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
5813 if (ndr_flags & NDR_SCALARS) {
5814 int level = ndr_push_get_switch_value(ndr, r);
5815 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5816 NDR_CHECK(ndr_push_union_align(ndr, 5));
5817 switch (level) {
5818 case 1: {
5819 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5820 break; }
5822 default:
5823 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5826 if (ndr_flags & NDR_BUFFERS) {
5827 int level = ndr_push_get_switch_value(ndr, r);
5828 switch (level) {
5829 case 1:
5830 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5831 break;
5833 default:
5834 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5837 return NDR_ERR_SUCCESS;
5840 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
5842 int level;
5843 int32_t _level;
5844 level = ndr_pull_get_switch_value(ndr, r);
5845 if (ndr_flags & NDR_SCALARS) {
5846 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5847 if (_level != level) {
5848 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5850 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5851 switch (level) {
5852 case 1: {
5853 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5854 break; }
5856 default:
5857 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5860 if (ndr_flags & NDR_BUFFERS) {
5861 switch (level) {
5862 case 1:
5863 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5864 break;
5866 default:
5867 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5870 return NDR_ERR_SUCCESS;
5873 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
5875 int level;
5876 level = ndr_print_get_switch_value(ndr, r);
5877 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
5878 switch (level) {
5879 case 1:
5880 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
5881 break;
5883 default:
5884 ndr_print_bad_level(ndr, name, level);
5888 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
5890 if (ndr_flags & NDR_SCALARS) {
5891 NDR_CHECK(ndr_push_align(ndr, 5));
5892 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
5893 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
5894 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
5895 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5897 if (ndr_flags & NDR_BUFFERS) {
5898 if (r->dns_domain_name) {
5899 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5900 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5901 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5902 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));
5904 if (r->result_name) {
5905 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5906 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5907 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5908 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5911 return NDR_ERR_SUCCESS;
5914 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
5916 uint32_t _ptr_dns_domain_name;
5917 TALLOC_CTX *_mem_save_dns_domain_name_0;
5918 uint32_t _ptr_result_name;
5919 TALLOC_CTX *_mem_save_result_name_0;
5920 if (ndr_flags & NDR_SCALARS) {
5921 NDR_CHECK(ndr_pull_align(ndr, 5));
5922 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
5923 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
5924 if (_ptr_dns_domain_name) {
5925 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
5926 } else {
5927 r->dns_domain_name = NULL;
5929 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
5930 if (_ptr_result_name) {
5931 NDR_PULL_ALLOC(ndr, r->result_name);
5932 } else {
5933 r->result_name = NULL;
5935 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5937 if (ndr_flags & NDR_BUFFERS) {
5938 if (r->dns_domain_name) {
5939 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5940 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
5941 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
5942 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
5943 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
5944 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));
5946 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
5947 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));
5948 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
5950 if (r->result_name) {
5951 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5952 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
5953 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
5954 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
5955 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
5956 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));
5958 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
5959 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
5960 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
5963 return NDR_ERR_SUCCESS;
5966 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
5968 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
5969 ndr->depth++;
5970 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
5971 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
5972 ndr->depth++;
5973 if (r->dns_domain_name) {
5974 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
5976 ndr->depth--;
5977 ndr_print_ptr(ndr, "result_name", r->result_name);
5978 ndr->depth++;
5979 if (r->result_name) {
5980 ndr_print_string(ndr, "result_name", r->result_name);
5982 ndr->depth--;
5983 ndr->depth--;
5986 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
5988 uint32_t cntr_array_1;
5989 if (ndr_flags & NDR_SCALARS) {
5990 NDR_CHECK(ndr_push_align(ndr, 5));
5991 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5992 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
5993 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5995 if (ndr_flags & NDR_BUFFERS) {
5996 if (r->array) {
5997 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5998 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5999 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6001 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6002 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6006 return NDR_ERR_SUCCESS;
6009 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
6011 uint32_t _ptr_array;
6012 uint32_t cntr_array_1;
6013 TALLOC_CTX *_mem_save_array_0;
6014 TALLOC_CTX *_mem_save_array_1;
6015 if (ndr_flags & NDR_SCALARS) {
6016 NDR_CHECK(ndr_pull_align(ndr, 5));
6017 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6018 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6019 if (_ptr_array) {
6020 NDR_PULL_ALLOC(ndr, r->array);
6021 } else {
6022 r->array = NULL;
6024 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6026 if (ndr_flags & NDR_BUFFERS) {
6027 if (r->array) {
6028 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6029 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6030 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6031 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6032 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6033 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6034 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6035 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6037 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6038 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6040 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6043 if (r->array) {
6044 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6047 return NDR_ERR_SUCCESS;
6050 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6052 uint32_t cntr_array_1;
6053 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6054 ndr->depth++;
6055 ndr_print_uint32(ndr, "count", r->count);
6056 ndr_print_ptr(ndr, "array", r->array);
6057 ndr->depth++;
6058 if (r->array) {
6059 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6060 ndr->depth++;
6061 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6062 char *idx_1=NULL;
6063 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6064 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6065 free(idx_1);
6068 ndr->depth--;
6070 ndr->depth--;
6071 ndr->depth--;
6074 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6076 if (ndr_flags & NDR_SCALARS) {
6077 int level = ndr_push_get_switch_value(ndr, r);
6078 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6079 NDR_CHECK(ndr_push_union_align(ndr, 5));
6080 switch (level) {
6081 case 1: {
6082 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6083 break; }
6085 default:
6086 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6089 if (ndr_flags & NDR_BUFFERS) {
6090 int level = ndr_push_get_switch_value(ndr, r);
6091 switch (level) {
6092 case 1:
6093 if (r->ctr1) {
6094 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6096 break;
6098 default:
6099 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6102 return NDR_ERR_SUCCESS;
6105 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6107 int level;
6108 int32_t _level;
6109 TALLOC_CTX *_mem_save_ctr1_0;
6110 level = ndr_pull_get_switch_value(ndr, r);
6111 if (ndr_flags & NDR_SCALARS) {
6112 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6113 if (_level != level) {
6114 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6116 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6117 switch (level) {
6118 case 1: {
6119 uint32_t _ptr_ctr1;
6120 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6121 if (_ptr_ctr1) {
6122 NDR_PULL_ALLOC(ndr, r->ctr1);
6123 } else {
6124 r->ctr1 = NULL;
6126 break; }
6128 default:
6129 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6132 if (ndr_flags & NDR_BUFFERS) {
6133 switch (level) {
6134 case 1:
6135 if (r->ctr1) {
6136 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6137 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6138 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6141 break;
6143 default:
6144 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6147 return NDR_ERR_SUCCESS;
6150 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6152 int level;
6153 level = ndr_print_get_switch_value(ndr, r);
6154 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6155 switch (level) {
6156 case 1:
6157 ndr_print_ptr(ndr, "ctr1", r->ctr1);
6158 ndr->depth++;
6159 if (r->ctr1) {
6160 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6162 ndr->depth--;
6163 break;
6165 default:
6166 ndr_print_bad_level(ndr, name, level);
6170 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6172 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6173 return NDR_ERR_SUCCESS;
6176 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6178 uint32_t v;
6179 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6180 *r = v;
6181 return NDR_ERR_SUCCESS;
6184 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6186 const char *val = NULL;
6188 switch (r) {
6189 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6190 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6191 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6193 ndr_print_enum(ndr, name, "ENUM", val, r);
6196 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6198 uint32_t cntr_spn_names_1;
6199 if (ndr_flags & NDR_SCALARS) {
6200 NDR_CHECK(ndr_push_align(ndr, 5));
6201 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6202 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6203 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6204 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6205 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6206 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6208 if (ndr_flags & NDR_BUFFERS) {
6209 if (r->object_dn) {
6210 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6211 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6212 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6213 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6215 if (r->spn_names) {
6216 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6217 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6218 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6220 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6221 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6225 return NDR_ERR_SUCCESS;
6228 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6230 uint32_t _ptr_object_dn;
6231 TALLOC_CTX *_mem_save_object_dn_0;
6232 uint32_t _ptr_spn_names;
6233 uint32_t cntr_spn_names_1;
6234 TALLOC_CTX *_mem_save_spn_names_0;
6235 TALLOC_CTX *_mem_save_spn_names_1;
6236 if (ndr_flags & NDR_SCALARS) {
6237 NDR_CHECK(ndr_pull_align(ndr, 5));
6238 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6239 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6240 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6241 if (_ptr_object_dn) {
6242 NDR_PULL_ALLOC(ndr, r->object_dn);
6243 } else {
6244 r->object_dn = NULL;
6246 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6247 if (r->count > 10000) {
6248 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6250 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6251 if (_ptr_spn_names) {
6252 NDR_PULL_ALLOC(ndr, r->spn_names);
6253 } else {
6254 r->spn_names = NULL;
6256 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6258 if (ndr_flags & NDR_BUFFERS) {
6259 if (r->object_dn) {
6260 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6261 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6262 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6263 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6264 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
6265 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));
6267 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
6268 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
6269 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6271 if (r->spn_names) {
6272 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6273 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6274 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6275 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
6276 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6277 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6278 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6279 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6281 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6282 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6284 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6287 if (r->spn_names) {
6288 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6291 return NDR_ERR_SUCCESS;
6294 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6296 uint32_t cntr_spn_names_1;
6297 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6298 ndr->depth++;
6299 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6300 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6301 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6302 ndr->depth++;
6303 if (r->object_dn) {
6304 ndr_print_string(ndr, "object_dn", r->object_dn);
6306 ndr->depth--;
6307 ndr_print_uint32(ndr, "count", r->count);
6308 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6309 ndr->depth++;
6310 if (r->spn_names) {
6311 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6312 ndr->depth++;
6313 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6314 char *idx_1=NULL;
6315 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
6316 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6317 free(idx_1);
6320 ndr->depth--;
6322 ndr->depth--;
6323 ndr->depth--;
6326 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6328 if (ndr_flags & NDR_SCALARS) {
6329 int level = ndr_push_get_switch_value(ndr, r);
6330 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6331 NDR_CHECK(ndr_push_union_align(ndr, 5));
6332 switch (level) {
6333 case 1: {
6334 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6335 break; }
6337 default:
6338 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6341 if (ndr_flags & NDR_BUFFERS) {
6342 int level = ndr_push_get_switch_value(ndr, r);
6343 switch (level) {
6344 case 1:
6345 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6346 break;
6348 default:
6349 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6352 return NDR_ERR_SUCCESS;
6355 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6357 int level;
6358 int32_t _level;
6359 level = ndr_pull_get_switch_value(ndr, r);
6360 if (ndr_flags & NDR_SCALARS) {
6361 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6362 if (_level != level) {
6363 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6365 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6366 switch (level) {
6367 case 1: {
6368 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6369 break; }
6371 default:
6372 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6375 if (ndr_flags & NDR_BUFFERS) {
6376 switch (level) {
6377 case 1:
6378 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6379 break;
6381 default:
6382 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6385 return NDR_ERR_SUCCESS;
6388 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6390 int level;
6391 level = ndr_print_get_switch_value(ndr, r);
6392 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6393 switch (level) {
6394 case 1:
6395 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6396 break;
6398 default:
6399 ndr_print_bad_level(ndr, name, level);
6403 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6405 if (ndr_flags & NDR_SCALARS) {
6406 NDR_CHECK(ndr_push_align(ndr, 4));
6407 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6408 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6410 if (ndr_flags & NDR_BUFFERS) {
6412 return NDR_ERR_SUCCESS;
6415 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6417 if (ndr_flags & NDR_SCALARS) {
6418 NDR_CHECK(ndr_pull_align(ndr, 4));
6419 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6420 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6422 if (ndr_flags & NDR_BUFFERS) {
6424 return NDR_ERR_SUCCESS;
6427 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6429 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6430 ndr->depth++;
6431 ndr_print_WERROR(ndr, "status", r->status);
6432 ndr->depth--;
6435 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6437 if (ndr_flags & NDR_SCALARS) {
6438 int level = ndr_push_get_switch_value(ndr, r);
6439 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6440 NDR_CHECK(ndr_push_union_align(ndr, 4));
6441 switch (level) {
6442 case 1: {
6443 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6444 break; }
6446 default:
6447 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6450 if (ndr_flags & NDR_BUFFERS) {
6451 int level = ndr_push_get_switch_value(ndr, r);
6452 switch (level) {
6453 case 1:
6454 break;
6456 default:
6457 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6460 return NDR_ERR_SUCCESS;
6463 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6465 int level;
6466 int32_t _level;
6467 level = ndr_pull_get_switch_value(ndr, r);
6468 if (ndr_flags & NDR_SCALARS) {
6469 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6470 if (_level != level) {
6471 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6473 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6474 switch (level) {
6475 case 1: {
6476 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6477 break; }
6479 default:
6480 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6483 if (ndr_flags & NDR_BUFFERS) {
6484 switch (level) {
6485 case 1:
6486 break;
6488 default:
6489 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6492 return NDR_ERR_SUCCESS;
6495 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6497 int level;
6498 level = ndr_print_get_switch_value(ndr, r);
6499 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6500 switch (level) {
6501 case 1:
6502 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6503 break;
6505 default:
6506 ndr_print_bad_level(ndr, name, level);
6510 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6512 if (ndr_flags & NDR_SCALARS) {
6513 NDR_CHECK(ndr_push_align(ndr, 5));
6514 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6515 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6517 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6519 if (ndr_flags & NDR_BUFFERS) {
6520 if (r->server_dn) {
6521 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6522 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6523 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6524 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6526 if (r->domain_dn) {
6527 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6528 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6529 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6530 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6533 return NDR_ERR_SUCCESS;
6536 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6538 uint32_t _ptr_server_dn;
6539 TALLOC_CTX *_mem_save_server_dn_0;
6540 uint32_t _ptr_domain_dn;
6541 TALLOC_CTX *_mem_save_domain_dn_0;
6542 if (ndr_flags & NDR_SCALARS) {
6543 NDR_CHECK(ndr_pull_align(ndr, 5));
6544 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6545 if (_ptr_server_dn) {
6546 NDR_PULL_ALLOC(ndr, r->server_dn);
6547 } else {
6548 r->server_dn = NULL;
6550 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6551 if (_ptr_domain_dn) {
6552 NDR_PULL_ALLOC(ndr, r->domain_dn);
6553 } else {
6554 r->domain_dn = NULL;
6556 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6557 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6559 if (ndr_flags & NDR_BUFFERS) {
6560 if (r->server_dn) {
6561 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6562 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6563 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6564 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6565 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6566 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));
6568 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6569 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6570 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6572 if (r->domain_dn) {
6573 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6574 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6575 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6576 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6577 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
6578 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));
6580 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
6581 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
6582 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6585 return NDR_ERR_SUCCESS;
6588 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6590 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6591 ndr->depth++;
6592 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6593 ndr->depth++;
6594 if (r->server_dn) {
6595 ndr_print_string(ndr, "server_dn", r->server_dn);
6597 ndr->depth--;
6598 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6599 ndr->depth++;
6600 if (r->domain_dn) {
6601 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6603 ndr->depth--;
6604 ndr_print_uint32(ndr, "commit", r->commit);
6605 ndr->depth--;
6608 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6610 if (ndr_flags & NDR_SCALARS) {
6611 int level = ndr_push_get_switch_value(ndr, r);
6612 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6613 NDR_CHECK(ndr_push_union_align(ndr, 5));
6614 switch (level) {
6615 case 1: {
6616 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6617 break; }
6619 default:
6620 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6623 if (ndr_flags & NDR_BUFFERS) {
6624 int level = ndr_push_get_switch_value(ndr, r);
6625 switch (level) {
6626 case 1:
6627 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6628 break;
6630 default:
6631 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6634 return NDR_ERR_SUCCESS;
6637 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6639 int level;
6640 int32_t _level;
6641 level = ndr_pull_get_switch_value(ndr, r);
6642 if (ndr_flags & NDR_SCALARS) {
6643 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6644 if (_level != level) {
6645 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6647 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6648 switch (level) {
6649 case 1: {
6650 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6651 break; }
6653 default:
6654 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6657 if (ndr_flags & NDR_BUFFERS) {
6658 switch (level) {
6659 case 1:
6660 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6661 break;
6663 default:
6664 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6667 return NDR_ERR_SUCCESS;
6670 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6672 int level;
6673 level = ndr_print_get_switch_value(ndr, r);
6674 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6675 switch (level) {
6676 case 1:
6677 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6678 break;
6680 default:
6681 ndr_print_bad_level(ndr, name, level);
6685 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6687 if (ndr_flags & NDR_SCALARS) {
6688 NDR_CHECK(ndr_push_align(ndr, 4));
6689 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6690 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6692 if (ndr_flags & NDR_BUFFERS) {
6694 return NDR_ERR_SUCCESS;
6697 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6699 if (ndr_flags & NDR_SCALARS) {
6700 NDR_CHECK(ndr_pull_align(ndr, 4));
6701 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6702 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6704 if (ndr_flags & NDR_BUFFERS) {
6706 return NDR_ERR_SUCCESS;
6709 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6711 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
6712 ndr->depth++;
6713 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
6714 ndr->depth--;
6717 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
6719 if (ndr_flags & NDR_SCALARS) {
6720 int level = ndr_push_get_switch_value(ndr, r);
6721 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6722 NDR_CHECK(ndr_push_union_align(ndr, 4));
6723 switch (level) {
6724 case 1: {
6725 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6726 break; }
6728 default:
6729 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6732 if (ndr_flags & NDR_BUFFERS) {
6733 int level = ndr_push_get_switch_value(ndr, r);
6734 switch (level) {
6735 case 1:
6736 break;
6738 default:
6739 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6742 return NDR_ERR_SUCCESS;
6745 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
6747 int level;
6748 int32_t _level;
6749 level = ndr_pull_get_switch_value(ndr, r);
6750 if (ndr_flags & NDR_SCALARS) {
6751 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6752 if (_level != level) {
6753 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6755 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6756 switch (level) {
6757 case 1: {
6758 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6759 break; }
6761 default:
6762 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6765 if (ndr_flags & NDR_BUFFERS) {
6766 switch (level) {
6767 case 1:
6768 break;
6770 default:
6771 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6774 return NDR_ERR_SUCCESS;
6777 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
6779 int level;
6780 level = ndr_print_get_switch_value(ndr, r);
6781 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
6782 switch (level) {
6783 case 1:
6784 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
6785 break;
6787 default:
6788 ndr_print_bad_level(ndr, name, level);
6792 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
6794 if (ndr_flags & NDR_SCALARS) {
6795 NDR_CHECK(ndr_push_align(ndr, 5));
6796 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6797 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
6798 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6800 if (ndr_flags & NDR_BUFFERS) {
6801 if (r->domain_name) {
6802 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6803 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6804 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6805 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6808 return NDR_ERR_SUCCESS;
6811 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
6813 uint32_t _ptr_domain_name;
6814 TALLOC_CTX *_mem_save_domain_name_0;
6815 if (ndr_flags & NDR_SCALARS) {
6816 NDR_CHECK(ndr_pull_align(ndr, 5));
6817 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6818 if (_ptr_domain_name) {
6819 NDR_PULL_ALLOC(ndr, r->domain_name);
6820 } else {
6821 r->domain_name = NULL;
6823 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
6824 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6826 if (ndr_flags & NDR_BUFFERS) {
6827 if (r->domain_name) {
6828 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6829 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6830 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6831 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6832 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6833 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));
6835 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6836 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6837 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6840 return NDR_ERR_SUCCESS;
6843 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
6845 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
6846 ndr->depth++;
6847 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6848 ndr->depth++;
6849 if (r->domain_name) {
6850 ndr_print_string(ndr, "domain_name", r->domain_name);
6852 ndr->depth--;
6853 ndr_print_int32(ndr, "level", r->level);
6854 ndr->depth--;
6857 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
6859 if (ndr_flags & NDR_SCALARS) {
6860 int level = ndr_push_get_switch_value(ndr, r);
6861 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6862 NDR_CHECK(ndr_push_union_align(ndr, 5));
6863 switch (level) {
6864 case 1: {
6865 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6866 break; }
6868 default:
6869 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6872 if (ndr_flags & NDR_BUFFERS) {
6873 int level = ndr_push_get_switch_value(ndr, r);
6874 switch (level) {
6875 case 1:
6876 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6877 break;
6879 default:
6880 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6883 return NDR_ERR_SUCCESS;
6886 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
6888 int level;
6889 int32_t _level;
6890 level = ndr_pull_get_switch_value(ndr, r);
6891 if (ndr_flags & NDR_SCALARS) {
6892 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6893 if (_level != level) {
6894 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6896 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6897 switch (level) {
6898 case 1: {
6899 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6900 break; }
6902 default:
6903 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6906 if (ndr_flags & NDR_BUFFERS) {
6907 switch (level) {
6908 case 1:
6909 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6910 break;
6912 default:
6913 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6916 return NDR_ERR_SUCCESS;
6919 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
6921 int level;
6922 level = ndr_print_get_switch_value(ndr, r);
6923 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
6924 switch (level) {
6925 case 1:
6926 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
6927 break;
6929 default:
6930 ndr_print_bad_level(ndr, name, level);
6934 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
6936 if (ndr_flags & NDR_SCALARS) {
6937 NDR_CHECK(ndr_push_align(ndr, 5));
6938 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6939 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6940 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6941 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6942 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6943 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6944 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6945 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6947 if (ndr_flags & NDR_BUFFERS) {
6948 if (r->netbios_name) {
6949 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6950 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6951 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6952 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6954 if (r->dns_name) {
6955 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6956 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6957 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6958 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6960 if (r->site_name) {
6961 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6962 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6963 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6964 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6966 if (r->computer_dn) {
6967 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6968 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6969 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6970 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6972 if (r->server_dn) {
6973 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6974 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6975 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6976 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6979 return NDR_ERR_SUCCESS;
6982 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
6984 uint32_t _ptr_netbios_name;
6985 TALLOC_CTX *_mem_save_netbios_name_0;
6986 uint32_t _ptr_dns_name;
6987 TALLOC_CTX *_mem_save_dns_name_0;
6988 uint32_t _ptr_site_name;
6989 TALLOC_CTX *_mem_save_site_name_0;
6990 uint32_t _ptr_computer_dn;
6991 TALLOC_CTX *_mem_save_computer_dn_0;
6992 uint32_t _ptr_server_dn;
6993 TALLOC_CTX *_mem_save_server_dn_0;
6994 if (ndr_flags & NDR_SCALARS) {
6995 NDR_CHECK(ndr_pull_align(ndr, 5));
6996 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
6997 if (_ptr_netbios_name) {
6998 NDR_PULL_ALLOC(ndr, r->netbios_name);
6999 } else {
7000 r->netbios_name = NULL;
7002 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7003 if (_ptr_dns_name) {
7004 NDR_PULL_ALLOC(ndr, r->dns_name);
7005 } else {
7006 r->dns_name = NULL;
7008 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7009 if (_ptr_site_name) {
7010 NDR_PULL_ALLOC(ndr, r->site_name);
7011 } else {
7012 r->site_name = NULL;
7014 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7015 if (_ptr_computer_dn) {
7016 NDR_PULL_ALLOC(ndr, r->computer_dn);
7017 } else {
7018 r->computer_dn = NULL;
7020 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7021 if (_ptr_server_dn) {
7022 NDR_PULL_ALLOC(ndr, r->server_dn);
7023 } else {
7024 r->server_dn = NULL;
7026 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7027 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7028 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7030 if (ndr_flags & NDR_BUFFERS) {
7031 if (r->netbios_name) {
7032 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7033 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7034 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7035 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7036 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7037 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));
7039 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7040 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7043 if (r->dns_name) {
7044 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7045 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7046 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7047 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7048 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7049 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));
7051 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7052 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7053 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7055 if (r->site_name) {
7056 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7057 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7058 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7059 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7060 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7061 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));
7063 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7064 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7065 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7067 if (r->computer_dn) {
7068 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7069 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7070 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7071 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7072 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7073 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));
7075 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7076 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7077 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7079 if (r->server_dn) {
7080 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7081 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7082 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7083 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7084 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7085 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));
7087 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7088 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7089 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7092 return NDR_ERR_SUCCESS;
7095 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7097 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7098 ndr->depth++;
7099 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7100 ndr->depth++;
7101 if (r->netbios_name) {
7102 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7104 ndr->depth--;
7105 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7106 ndr->depth++;
7107 if (r->dns_name) {
7108 ndr_print_string(ndr, "dns_name", r->dns_name);
7110 ndr->depth--;
7111 ndr_print_ptr(ndr, "site_name", r->site_name);
7112 ndr->depth++;
7113 if (r->site_name) {
7114 ndr_print_string(ndr, "site_name", r->site_name);
7116 ndr->depth--;
7117 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7118 ndr->depth++;
7119 if (r->computer_dn) {
7120 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7122 ndr->depth--;
7123 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7124 ndr->depth++;
7125 if (r->server_dn) {
7126 ndr_print_string(ndr, "server_dn", r->server_dn);
7128 ndr->depth--;
7129 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7130 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7131 ndr->depth--;
7134 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7136 uint32_t cntr_array_1;
7137 if (ndr_flags & NDR_SCALARS) {
7138 NDR_CHECK(ndr_push_align(ndr, 5));
7139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7140 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7141 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7143 if (ndr_flags & NDR_BUFFERS) {
7144 if (r->array) {
7145 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7146 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7147 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7149 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7150 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7154 return NDR_ERR_SUCCESS;
7157 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7159 uint32_t _ptr_array;
7160 uint32_t cntr_array_1;
7161 TALLOC_CTX *_mem_save_array_0;
7162 TALLOC_CTX *_mem_save_array_1;
7163 if (ndr_flags & NDR_SCALARS) {
7164 NDR_CHECK(ndr_pull_align(ndr, 5));
7165 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7166 if (r->count > 10000) {
7167 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7169 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7170 if (_ptr_array) {
7171 NDR_PULL_ALLOC(ndr, r->array);
7172 } else {
7173 r->array = NULL;
7175 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7177 if (ndr_flags & NDR_BUFFERS) {
7178 if (r->array) {
7179 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7180 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7181 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7182 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7183 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7184 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7185 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7186 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7188 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7189 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7192 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7194 if (r->array) {
7195 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7198 return NDR_ERR_SUCCESS;
7201 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7203 uint32_t cntr_array_1;
7204 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7205 ndr->depth++;
7206 ndr_print_uint32(ndr, "count", r->count);
7207 ndr_print_ptr(ndr, "array", r->array);
7208 ndr->depth++;
7209 if (r->array) {
7210 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7211 ndr->depth++;
7212 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7213 char *idx_1=NULL;
7214 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7215 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7216 free(idx_1);
7219 ndr->depth--;
7221 ndr->depth--;
7222 ndr->depth--;
7225 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7227 if (ndr_flags & NDR_SCALARS) {
7228 NDR_CHECK(ndr_push_align(ndr, 5));
7229 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7230 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7231 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7232 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7233 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7234 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7235 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7236 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7239 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7240 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7241 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7242 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7243 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7245 if (ndr_flags & NDR_BUFFERS) {
7246 if (r->netbios_name) {
7247 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7248 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7249 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7250 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7252 if (r->dns_name) {
7253 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7254 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7255 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7256 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7258 if (r->site_name) {
7259 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7260 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7261 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7262 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7264 if (r->site_dn) {
7265 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7266 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7267 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7268 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7270 if (r->computer_dn) {
7271 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7272 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7273 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7274 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7276 if (r->server_dn) {
7277 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7278 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7279 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7280 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7282 if (r->ntds_dn) {
7283 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7284 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7285 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7286 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7289 return NDR_ERR_SUCCESS;
7292 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7294 uint32_t _ptr_netbios_name;
7295 TALLOC_CTX *_mem_save_netbios_name_0;
7296 uint32_t _ptr_dns_name;
7297 TALLOC_CTX *_mem_save_dns_name_0;
7298 uint32_t _ptr_site_name;
7299 TALLOC_CTX *_mem_save_site_name_0;
7300 uint32_t _ptr_site_dn;
7301 TALLOC_CTX *_mem_save_site_dn_0;
7302 uint32_t _ptr_computer_dn;
7303 TALLOC_CTX *_mem_save_computer_dn_0;
7304 uint32_t _ptr_server_dn;
7305 TALLOC_CTX *_mem_save_server_dn_0;
7306 uint32_t _ptr_ntds_dn;
7307 TALLOC_CTX *_mem_save_ntds_dn_0;
7308 if (ndr_flags & NDR_SCALARS) {
7309 NDR_CHECK(ndr_pull_align(ndr, 5));
7310 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7311 if (_ptr_netbios_name) {
7312 NDR_PULL_ALLOC(ndr, r->netbios_name);
7313 } else {
7314 r->netbios_name = NULL;
7316 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7317 if (_ptr_dns_name) {
7318 NDR_PULL_ALLOC(ndr, r->dns_name);
7319 } else {
7320 r->dns_name = NULL;
7322 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7323 if (_ptr_site_name) {
7324 NDR_PULL_ALLOC(ndr, r->site_name);
7325 } else {
7326 r->site_name = NULL;
7328 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7329 if (_ptr_site_dn) {
7330 NDR_PULL_ALLOC(ndr, r->site_dn);
7331 } else {
7332 r->site_dn = NULL;
7334 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7335 if (_ptr_computer_dn) {
7336 NDR_PULL_ALLOC(ndr, r->computer_dn);
7337 } else {
7338 r->computer_dn = NULL;
7340 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7341 if (_ptr_server_dn) {
7342 NDR_PULL_ALLOC(ndr, r->server_dn);
7343 } else {
7344 r->server_dn = NULL;
7346 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7347 if (_ptr_ntds_dn) {
7348 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7349 } else {
7350 r->ntds_dn = NULL;
7352 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7353 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7354 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7355 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7356 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7357 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7358 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7359 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7361 if (ndr_flags & NDR_BUFFERS) {
7362 if (r->netbios_name) {
7363 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7364 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7365 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7366 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7367 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7368 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));
7370 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7371 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7372 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7374 if (r->dns_name) {
7375 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7376 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7377 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7378 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7379 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7380 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));
7382 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7383 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7384 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7386 if (r->site_name) {
7387 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7388 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7389 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7390 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7391 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7392 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));
7394 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7395 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7396 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7398 if (r->site_dn) {
7399 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7400 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7401 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7402 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7403 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7404 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));
7406 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7407 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7408 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7410 if (r->computer_dn) {
7411 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7412 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7413 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7414 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7415 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7416 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));
7418 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7419 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7420 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7422 if (r->server_dn) {
7423 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7424 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7425 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7426 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7427 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7428 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));
7430 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7431 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7432 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7434 if (r->ntds_dn) {
7435 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7436 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7437 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7438 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7439 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7440 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));
7442 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7443 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7444 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7447 return NDR_ERR_SUCCESS;
7450 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7452 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7453 ndr->depth++;
7454 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7455 ndr->depth++;
7456 if (r->netbios_name) {
7457 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7459 ndr->depth--;
7460 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7461 ndr->depth++;
7462 if (r->dns_name) {
7463 ndr_print_string(ndr, "dns_name", r->dns_name);
7465 ndr->depth--;
7466 ndr_print_ptr(ndr, "site_name", r->site_name);
7467 ndr->depth++;
7468 if (r->site_name) {
7469 ndr_print_string(ndr, "site_name", r->site_name);
7471 ndr->depth--;
7472 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7473 ndr->depth++;
7474 if (r->site_dn) {
7475 ndr_print_string(ndr, "site_dn", r->site_dn);
7477 ndr->depth--;
7478 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7479 ndr->depth++;
7480 if (r->computer_dn) {
7481 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7483 ndr->depth--;
7484 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7485 ndr->depth++;
7486 if (r->server_dn) {
7487 ndr_print_string(ndr, "server_dn", r->server_dn);
7489 ndr->depth--;
7490 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7491 ndr->depth++;
7492 if (r->ntds_dn) {
7493 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7495 ndr->depth--;
7496 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7497 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7498 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7499 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7500 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7501 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7502 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7503 ndr->depth--;
7506 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7508 uint32_t cntr_array_1;
7509 if (ndr_flags & NDR_SCALARS) {
7510 NDR_CHECK(ndr_push_align(ndr, 5));
7511 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7512 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7513 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7515 if (ndr_flags & NDR_BUFFERS) {
7516 if (r->array) {
7517 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7518 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7519 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7521 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7522 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7526 return NDR_ERR_SUCCESS;
7529 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7531 uint32_t _ptr_array;
7532 uint32_t cntr_array_1;
7533 TALLOC_CTX *_mem_save_array_0;
7534 TALLOC_CTX *_mem_save_array_1;
7535 if (ndr_flags & NDR_SCALARS) {
7536 NDR_CHECK(ndr_pull_align(ndr, 5));
7537 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7538 if (r->count > 10000) {
7539 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7541 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7542 if (_ptr_array) {
7543 NDR_PULL_ALLOC(ndr, r->array);
7544 } else {
7545 r->array = NULL;
7547 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7549 if (ndr_flags & NDR_BUFFERS) {
7550 if (r->array) {
7551 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7552 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7553 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7554 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7555 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7556 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7557 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7558 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7560 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7561 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7564 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7566 if (r->array) {
7567 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7570 return NDR_ERR_SUCCESS;
7573 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7575 uint32_t cntr_array_1;
7576 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7577 ndr->depth++;
7578 ndr_print_uint32(ndr, "count", r->count);
7579 ndr_print_ptr(ndr, "array", r->array);
7580 ndr->depth++;
7581 if (r->array) {
7582 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7583 ndr->depth++;
7584 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7585 char *idx_1=NULL;
7586 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7587 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7588 free(idx_1);
7591 ndr->depth--;
7593 ndr->depth--;
7594 ndr->depth--;
7597 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7599 if (ndr_flags & NDR_SCALARS) {
7600 NDR_CHECK(ndr_push_align(ndr, 5));
7601 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7602 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7603 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7604 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7605 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7606 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7607 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7611 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7612 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7613 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7614 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7615 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7616 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7618 if (ndr_flags & NDR_BUFFERS) {
7619 if (r->netbios_name) {
7620 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7621 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7622 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7623 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7625 if (r->dns_name) {
7626 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7627 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7628 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7629 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7631 if (r->site_name) {
7632 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7633 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7634 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7635 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7637 if (r->site_dn) {
7638 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7639 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7640 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7641 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7643 if (r->computer_dn) {
7644 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7645 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7646 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7647 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7649 if (r->server_dn) {
7650 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7651 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7652 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7653 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7655 if (r->ntds_dn) {
7656 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7657 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7658 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7659 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7662 return NDR_ERR_SUCCESS;
7665 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
7667 uint32_t _ptr_netbios_name;
7668 TALLOC_CTX *_mem_save_netbios_name_0;
7669 uint32_t _ptr_dns_name;
7670 TALLOC_CTX *_mem_save_dns_name_0;
7671 uint32_t _ptr_site_name;
7672 TALLOC_CTX *_mem_save_site_name_0;
7673 uint32_t _ptr_site_dn;
7674 TALLOC_CTX *_mem_save_site_dn_0;
7675 uint32_t _ptr_computer_dn;
7676 TALLOC_CTX *_mem_save_computer_dn_0;
7677 uint32_t _ptr_server_dn;
7678 TALLOC_CTX *_mem_save_server_dn_0;
7679 uint32_t _ptr_ntds_dn;
7680 TALLOC_CTX *_mem_save_ntds_dn_0;
7681 if (ndr_flags & NDR_SCALARS) {
7682 NDR_CHECK(ndr_pull_align(ndr, 5));
7683 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7684 if (_ptr_netbios_name) {
7685 NDR_PULL_ALLOC(ndr, r->netbios_name);
7686 } else {
7687 r->netbios_name = NULL;
7689 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7690 if (_ptr_dns_name) {
7691 NDR_PULL_ALLOC(ndr, r->dns_name);
7692 } else {
7693 r->dns_name = NULL;
7695 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7696 if (_ptr_site_name) {
7697 NDR_PULL_ALLOC(ndr, r->site_name);
7698 } else {
7699 r->site_name = NULL;
7701 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7702 if (_ptr_site_dn) {
7703 NDR_PULL_ALLOC(ndr, r->site_dn);
7704 } else {
7705 r->site_dn = NULL;
7707 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7708 if (_ptr_computer_dn) {
7709 NDR_PULL_ALLOC(ndr, r->computer_dn);
7710 } else {
7711 r->computer_dn = NULL;
7713 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7714 if (_ptr_server_dn) {
7715 NDR_PULL_ALLOC(ndr, r->server_dn);
7716 } else {
7717 r->server_dn = NULL;
7719 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7720 if (_ptr_ntds_dn) {
7721 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7722 } else {
7723 r->ntds_dn = NULL;
7725 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7726 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7727 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7728 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
7729 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7730 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7731 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7732 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7733 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7735 if (ndr_flags & NDR_BUFFERS) {
7736 if (r->netbios_name) {
7737 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7738 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7739 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7740 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7741 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7742 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));
7744 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7745 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7746 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7748 if (r->dns_name) {
7749 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7750 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7751 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7752 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7753 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7754 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));
7756 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7757 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7758 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7760 if (r->site_name) {
7761 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7762 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7763 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7764 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7765 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7766 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));
7768 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7769 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7770 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7772 if (r->site_dn) {
7773 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7774 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7775 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7776 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7777 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7778 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));
7780 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7781 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7784 if (r->computer_dn) {
7785 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7786 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7787 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7788 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7789 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7790 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));
7792 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7793 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7794 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7796 if (r->server_dn) {
7797 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7798 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7799 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7800 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7801 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7802 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));
7804 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7805 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7806 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7808 if (r->ntds_dn) {
7809 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7810 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7811 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7812 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7813 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7814 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));
7816 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7817 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7818 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7821 return NDR_ERR_SUCCESS;
7824 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7826 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7827 ndr->depth++;
7828 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7829 ndr->depth++;
7830 if (r->netbios_name) {
7831 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7833 ndr->depth--;
7834 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7835 ndr->depth++;
7836 if (r->dns_name) {
7837 ndr_print_string(ndr, "dns_name", r->dns_name);
7839 ndr->depth--;
7840 ndr_print_ptr(ndr, "site_name", r->site_name);
7841 ndr->depth++;
7842 if (r->site_name) {
7843 ndr_print_string(ndr, "site_name", r->site_name);
7845 ndr->depth--;
7846 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7847 ndr->depth++;
7848 if (r->site_dn) {
7849 ndr_print_string(ndr, "site_dn", r->site_dn);
7851 ndr->depth--;
7852 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7853 ndr->depth++;
7854 if (r->computer_dn) {
7855 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7857 ndr->depth--;
7858 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7859 ndr->depth++;
7860 if (r->server_dn) {
7861 ndr_print_string(ndr, "server_dn", r->server_dn);
7863 ndr->depth--;
7864 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7865 ndr->depth++;
7866 if (r->ntds_dn) {
7867 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7869 ndr->depth--;
7870 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7871 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7872 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7873 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
7874 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7875 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7876 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7877 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7878 ndr->depth--;
7881 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
7883 uint32_t cntr_array_1;
7884 if (ndr_flags & NDR_SCALARS) {
7885 NDR_CHECK(ndr_push_align(ndr, 5));
7886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7887 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7888 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7890 if (ndr_flags & NDR_BUFFERS) {
7891 if (r->array) {
7892 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7893 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7894 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7896 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7897 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7901 return NDR_ERR_SUCCESS;
7904 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
7906 uint32_t _ptr_array;
7907 uint32_t cntr_array_1;
7908 TALLOC_CTX *_mem_save_array_0;
7909 TALLOC_CTX *_mem_save_array_1;
7910 if (ndr_flags & NDR_SCALARS) {
7911 NDR_CHECK(ndr_pull_align(ndr, 5));
7912 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7913 if (r->count > 10000) {
7914 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7916 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7917 if (_ptr_array) {
7918 NDR_PULL_ALLOC(ndr, r->array);
7919 } else {
7920 r->array = NULL;
7922 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7924 if (ndr_flags & NDR_BUFFERS) {
7925 if (r->array) {
7926 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7927 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7928 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7929 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7930 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7931 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7932 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7933 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7935 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7936 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7938 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7939 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7941 if (r->array) {
7942 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7945 return NDR_ERR_SUCCESS;
7948 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
7950 uint32_t cntr_array_1;
7951 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
7952 ndr->depth++;
7953 ndr_print_uint32(ndr, "count", r->count);
7954 ndr_print_ptr(ndr, "array", r->array);
7955 ndr->depth++;
7956 if (r->array) {
7957 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7958 ndr->depth++;
7959 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7960 char *idx_1=NULL;
7961 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7962 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
7963 free(idx_1);
7966 ndr->depth--;
7968 ndr->depth--;
7969 ndr->depth--;
7972 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
7974 if (ndr_flags & NDR_SCALARS) {
7975 NDR_CHECK(ndr_push_align(ndr, 5));
7977 uint32_t _flags_save_ipv4address = ndr->flags;
7978 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7979 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
7980 ndr->flags = _flags_save_ipv4address;
7982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
7983 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
7984 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
7985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
7986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
7987 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
7988 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7990 if (ndr_flags & NDR_BUFFERS) {
7991 if (r->client_account) {
7992 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7993 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7994 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7995 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7998 return NDR_ERR_SUCCESS;
8001 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
8003 uint32_t _ptr_client_account;
8004 TALLOC_CTX *_mem_save_client_account_0;
8005 if (ndr_flags & NDR_SCALARS) {
8006 NDR_CHECK(ndr_pull_align(ndr, 5));
8008 uint32_t _flags_save_ipv4address = ndr->flags;
8009 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8010 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
8011 ndr->flags = _flags_save_ipv4address;
8013 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8014 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
8015 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
8016 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
8017 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
8018 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
8019 if (_ptr_client_account) {
8020 NDR_PULL_ALLOC(ndr, r->client_account);
8021 } else {
8022 r->client_account = NULL;
8024 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8026 if (ndr_flags & NDR_BUFFERS) {
8027 if (r->client_account) {
8028 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
8029 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
8030 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
8031 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
8032 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
8033 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));
8035 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
8036 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
8037 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
8040 return NDR_ERR_SUCCESS;
8043 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
8045 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8046 ndr->depth++;
8047 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8048 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8049 ndr_print_uint32(ndr, "connection_time", r->connection_time);
8050 ndr_print_uint32(ndr, "unknown4", r->unknown4);
8051 ndr_print_uint32(ndr, "unknown5", r->unknown5);
8052 ndr_print_uint32(ndr, "unknown6", r->unknown6);
8053 ndr_print_ptr(ndr, "client_account", r->client_account);
8054 ndr->depth++;
8055 if (r->client_account) {
8056 ndr_print_string(ndr, "client_account", r->client_account);
8058 ndr->depth--;
8059 ndr->depth--;
8062 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8064 uint32_t cntr_array_1;
8065 if (ndr_flags & NDR_SCALARS) {
8066 NDR_CHECK(ndr_push_align(ndr, 5));
8067 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8068 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8069 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8071 if (ndr_flags & NDR_BUFFERS) {
8072 if (r->array) {
8073 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8074 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8075 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8077 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8078 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8082 return NDR_ERR_SUCCESS;
8085 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8087 uint32_t _ptr_array;
8088 uint32_t cntr_array_1;
8089 TALLOC_CTX *_mem_save_array_0;
8090 TALLOC_CTX *_mem_save_array_1;
8091 if (ndr_flags & NDR_SCALARS) {
8092 NDR_CHECK(ndr_pull_align(ndr, 5));
8093 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8094 if (r->count > 10000) {
8095 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8097 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8098 if (_ptr_array) {
8099 NDR_PULL_ALLOC(ndr, r->array);
8100 } else {
8101 r->array = NULL;
8103 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8105 if (ndr_flags & NDR_BUFFERS) {
8106 if (r->array) {
8107 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8108 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8109 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8110 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8111 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8112 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8113 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8114 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8116 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8117 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8119 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8120 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8122 if (r->array) {
8123 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8126 return NDR_ERR_SUCCESS;
8129 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8131 uint32_t cntr_array_1;
8132 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8133 ndr->depth++;
8134 ndr_print_uint32(ndr, "count", r->count);
8135 ndr_print_ptr(ndr, "array", r->array);
8136 ndr->depth++;
8137 if (r->array) {
8138 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8139 ndr->depth++;
8140 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8141 char *idx_1=NULL;
8142 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8143 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8144 free(idx_1);
8147 ndr->depth--;
8149 ndr->depth--;
8150 ndr->depth--;
8153 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8155 if (ndr_flags & NDR_SCALARS) {
8156 int level = ndr_push_get_switch_value(ndr, r);
8157 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8158 NDR_CHECK(ndr_push_union_align(ndr, 5));
8159 switch (level) {
8160 case DRSUAPI_DC_INFO_CTR_1: {
8161 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8162 break; }
8164 case DRSUAPI_DC_INFO_CTR_2: {
8165 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8166 break; }
8168 case DRSUAPI_DC_INFO_CTR_3: {
8169 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8170 break; }
8172 case DRSUAPI_DC_CONNECTION_CTR_01: {
8173 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8174 break; }
8176 default:
8177 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8180 if (ndr_flags & NDR_BUFFERS) {
8181 int level = ndr_push_get_switch_value(ndr, r);
8182 switch (level) {
8183 case DRSUAPI_DC_INFO_CTR_1:
8184 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8185 break;
8187 case DRSUAPI_DC_INFO_CTR_2:
8188 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8189 break;
8191 case DRSUAPI_DC_INFO_CTR_3:
8192 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8193 break;
8195 case DRSUAPI_DC_CONNECTION_CTR_01:
8196 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8197 break;
8199 default:
8200 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8203 return NDR_ERR_SUCCESS;
8206 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8208 int level;
8209 int32_t _level;
8210 level = ndr_pull_get_switch_value(ndr, r);
8211 if (ndr_flags & NDR_SCALARS) {
8212 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8213 if (_level != level) {
8214 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8216 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8217 switch (level) {
8218 case DRSUAPI_DC_INFO_CTR_1: {
8219 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8220 break; }
8222 case DRSUAPI_DC_INFO_CTR_2: {
8223 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8224 break; }
8226 case DRSUAPI_DC_INFO_CTR_3: {
8227 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8228 break; }
8230 case DRSUAPI_DC_CONNECTION_CTR_01: {
8231 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8232 break; }
8234 default:
8235 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8238 if (ndr_flags & NDR_BUFFERS) {
8239 switch (level) {
8240 case DRSUAPI_DC_INFO_CTR_1:
8241 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8242 break;
8244 case DRSUAPI_DC_INFO_CTR_2:
8245 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8246 break;
8248 case DRSUAPI_DC_INFO_CTR_3:
8249 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8250 break;
8252 case DRSUAPI_DC_CONNECTION_CTR_01:
8253 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8254 break;
8256 default:
8257 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8260 return NDR_ERR_SUCCESS;
8263 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
8265 int level;
8266 level = ndr_print_get_switch_value(ndr, r);
8267 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
8268 switch (level) {
8269 case DRSUAPI_DC_INFO_CTR_1:
8270 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
8271 break;
8273 case DRSUAPI_DC_INFO_CTR_2:
8274 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
8275 break;
8277 case DRSUAPI_DC_INFO_CTR_3:
8278 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
8279 break;
8281 case DRSUAPI_DC_CONNECTION_CTR_01:
8282 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
8283 break;
8285 default:
8286 ndr_print_bad_level(ndr, name, level);
8290 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
8292 if (ndr_flags & NDR_SCALARS) {
8293 NDR_CHECK(ndr_push_align(ndr, 5));
8294 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
8295 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8296 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8298 if (ndr_flags & NDR_BUFFERS) {
8299 if (r->next_object) {
8300 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8302 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8304 return NDR_ERR_SUCCESS;
8307 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8309 uint32_t _ptr_next_object;
8310 TALLOC_CTX *_mem_save_next_object_0;
8311 if (ndr_flags & NDR_SCALARS) {
8312 NDR_CHECK(ndr_pull_align(ndr, 5));
8313 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8314 if (_ptr_next_object) {
8315 NDR_PULL_ALLOC(ndr, r->next_object);
8316 } else {
8317 r->next_object = NULL;
8319 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8320 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8322 if (ndr_flags & NDR_BUFFERS) {
8323 if (r->next_object) {
8324 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8325 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8326 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8327 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8329 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8331 return NDR_ERR_SUCCESS;
8334 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8336 if (ndr_flags & NDR_SCALARS) {
8337 NDR_CHECK(ndr_push_align(ndr, 5));
8338 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8339 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8341 if (ndr_flags & NDR_BUFFERS) {
8342 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8344 return NDR_ERR_SUCCESS;
8347 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8349 if (ndr_flags & NDR_SCALARS) {
8350 NDR_CHECK(ndr_pull_align(ndr, 5));
8351 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8352 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8354 if (ndr_flags & NDR_BUFFERS) {
8355 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8357 return NDR_ERR_SUCCESS;
8360 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8362 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8363 ndr->depth++;
8364 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8365 ndr->depth--;
8368 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
8370 if (ndr_flags & NDR_SCALARS) {
8371 int level = ndr_push_get_switch_value(ndr, r);
8372 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8373 NDR_CHECK(ndr_push_union_align(ndr, 5));
8374 switch (level) {
8375 case 2: {
8376 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8377 break; }
8379 default:
8380 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8383 if (ndr_flags & NDR_BUFFERS) {
8384 int level = ndr_push_get_switch_value(ndr, r);
8385 switch (level) {
8386 case 2:
8387 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8388 break;
8390 default:
8391 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8394 return NDR_ERR_SUCCESS;
8397 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
8399 int level;
8400 int32_t _level;
8401 level = ndr_pull_get_switch_value(ndr, r);
8402 if (ndr_flags & NDR_SCALARS) {
8403 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8404 if (_level != level) {
8405 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8407 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8408 switch (level) {
8409 case 2: {
8410 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8411 break; }
8413 default:
8414 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8417 if (ndr_flags & NDR_BUFFERS) {
8418 switch (level) {
8419 case 2:
8420 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8421 break;
8423 default:
8424 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8427 return NDR_ERR_SUCCESS;
8430 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
8432 int level;
8433 level = ndr_print_get_switch_value(ndr, r);
8434 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
8435 switch (level) {
8436 case 2:
8437 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
8438 break;
8440 default:
8441 ndr_print_bad_level(ndr, name, level);
8445 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
8447 if (ndr_flags & NDR_SCALARS) {
8448 NDR_CHECK(ndr_push_align(ndr, 4));
8449 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8450 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8451 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8452 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
8453 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8455 if (ndr_flags & NDR_BUFFERS) {
8457 return NDR_ERR_SUCCESS;
8460 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
8462 if (ndr_flags & NDR_SCALARS) {
8463 NDR_CHECK(ndr_pull_align(ndr, 4));
8464 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8465 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8466 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8467 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
8468 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8470 if (ndr_flags & NDR_BUFFERS) {
8472 return NDR_ERR_SUCCESS;
8475 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
8477 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
8478 ndr->depth++;
8479 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8480 ndr_print_WERROR(ndr, "status", r->status);
8481 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8482 ndr_print_uint16(ndr, "unknown3", r->unknown3);
8483 ndr->depth--;
8486 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8488 if (ndr_flags & NDR_SCALARS) {
8489 NDR_CHECK(ndr_push_align(ndr, 5));
8490 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8491 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8492 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8494 if (ndr_flags & NDR_BUFFERS) {
8495 if (r->data) {
8496 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
8497 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
8500 return NDR_ERR_SUCCESS;
8503 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8505 uint32_t _ptr_data;
8506 TALLOC_CTX *_mem_save_data_0;
8507 if (ndr_flags & NDR_SCALARS) {
8508 NDR_CHECK(ndr_pull_align(ndr, 5));
8509 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8510 if (r->size > 10485760) {
8511 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8513 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8514 if (_ptr_data) {
8515 NDR_PULL_ALLOC(ndr, r->data);
8516 } else {
8517 r->data = NULL;
8519 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8521 if (ndr_flags & NDR_BUFFERS) {
8522 if (r->data) {
8523 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8524 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8525 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
8526 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
8527 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
8528 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8530 if (r->data) {
8531 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
8534 return NDR_ERR_SUCCESS;
8537 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8539 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
8540 ndr->depth++;
8541 ndr_print_uint32(ndr, "size", r->size);
8542 ndr_print_ptr(ndr, "data", r->data);
8543 ndr->depth++;
8544 if (r->data) {
8545 ndr_print_array_uint8(ndr, "data", r->data, r->size);
8547 ndr->depth--;
8548 ndr->depth--;
8551 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
8553 if (ndr_flags & NDR_SCALARS) {
8554 NDR_CHECK(ndr_push_align(ndr, 5));
8555 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8556 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
8557 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8558 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8559 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8561 if (ndr_flags & NDR_BUFFERS) {
8562 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8564 return NDR_ERR_SUCCESS;
8567 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
8569 if (ndr_flags & NDR_SCALARS) {
8570 NDR_CHECK(ndr_pull_align(ndr, 5));
8571 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8572 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
8573 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8574 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8575 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8577 if (ndr_flags & NDR_BUFFERS) {
8578 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8580 return NDR_ERR_SUCCESS;
8583 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
8585 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
8586 ndr->depth++;
8587 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8588 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
8589 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8590 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
8591 ndr->depth--;
8594 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8596 if (ndr_flags & NDR_SCALARS) {
8597 NDR_CHECK(ndr_push_align(ndr, 5));
8598 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
8599 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8600 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8602 if (ndr_flags & NDR_BUFFERS) {
8603 if (r->next) {
8604 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8606 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8608 return NDR_ERR_SUCCESS;
8611 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
8613 uint32_t _ptr_next;
8614 TALLOC_CTX *_mem_save_next_0;
8615 if (ndr_flags & NDR_SCALARS) {
8616 NDR_CHECK(ndr_pull_align(ndr, 5));
8617 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
8618 if (_ptr_next) {
8619 NDR_PULL_ALLOC(ndr, r->next);
8620 } else {
8621 r->next = NULL;
8623 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8624 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8626 if (ndr_flags & NDR_BUFFERS) {
8627 if (r->next) {
8628 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
8629 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
8630 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8631 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
8633 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8635 return NDR_ERR_SUCCESS;
8638 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8640 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
8641 ndr->depth++;
8642 ndr_print_ptr(ndr, "next", r->next);
8643 ndr->depth++;
8644 if (r->next) {
8645 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
8647 ndr->depth--;
8648 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
8649 ndr->depth--;
8652 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8654 if (ndr_flags & NDR_SCALARS) {
8655 NDR_CHECK(ndr_push_align(ndr, 5));
8656 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8657 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8658 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8659 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8661 if (ndr_flags & NDR_BUFFERS) {
8662 if (r->id) {
8663 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8665 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8667 return NDR_ERR_SUCCESS;
8670 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
8672 uint32_t _ptr_id;
8673 TALLOC_CTX *_mem_save_id_0;
8674 if (ndr_flags & NDR_SCALARS) {
8675 NDR_CHECK(ndr_pull_align(ndr, 5));
8676 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8677 if (_ptr_id) {
8678 NDR_PULL_ALLOC(ndr, r->id);
8679 } else {
8680 r->id = NULL;
8682 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8683 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8684 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8686 if (ndr_flags & NDR_BUFFERS) {
8687 if (r->id) {
8688 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8689 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8690 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8693 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8695 return NDR_ERR_SUCCESS;
8698 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8700 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
8701 ndr->depth++;
8702 ndr_print_ptr(ndr, "id", r->id);
8703 ndr->depth++;
8704 if (r->id) {
8705 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8707 ndr->depth--;
8708 ndr_print_WERROR(ndr, "status", r->status);
8709 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
8710 ndr->depth--;
8713 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
8715 if (ndr_flags & NDR_SCALARS) {
8716 int level = ndr_push_get_switch_value(ndr, r);
8717 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8718 NDR_CHECK(ndr_push_union_align(ndr, 5));
8719 switch (level) {
8720 case 1: {
8721 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8722 break; }
8724 case 4: {
8725 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8726 break; }
8728 case 5: {
8729 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8730 break; }
8732 case 6: {
8733 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8734 break; }
8736 case 7: {
8737 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8738 break; }
8740 default:
8741 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8744 if (ndr_flags & NDR_BUFFERS) {
8745 int level = ndr_push_get_switch_value(ndr, r);
8746 switch (level) {
8747 case 1:
8748 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8749 break;
8751 case 4:
8752 break;
8754 case 5:
8755 break;
8757 case 6:
8758 break;
8760 case 7:
8761 break;
8763 default:
8764 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8767 return NDR_ERR_SUCCESS;
8770 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
8772 int level;
8773 uint32_t _level;
8774 level = ndr_pull_get_switch_value(ndr, r);
8775 if (ndr_flags & NDR_SCALARS) {
8776 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8777 if (_level != level) {
8778 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8780 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8781 switch (level) {
8782 case 1: {
8783 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8784 break; }
8786 case 4: {
8787 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8788 break; }
8790 case 5: {
8791 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8792 break; }
8794 case 6: {
8795 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8796 break; }
8798 case 7: {
8799 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8800 break; }
8802 default:
8803 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8806 if (ndr_flags & NDR_BUFFERS) {
8807 switch (level) {
8808 case 1:
8809 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8810 break;
8812 case 4:
8813 break;
8815 case 5:
8816 break;
8818 case 6:
8819 break;
8821 case 7:
8822 break;
8824 default:
8825 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8828 return NDR_ERR_SUCCESS;
8831 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
8833 int level;
8834 level = ndr_print_get_switch_value(ndr, r);
8835 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
8836 switch (level) {
8837 case 1:
8838 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
8839 break;
8841 case 4:
8842 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8843 break;
8845 case 5:
8846 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8847 break;
8849 case 6:
8850 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8851 break;
8853 case 7:
8854 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8855 break;
8857 default:
8858 ndr_print_bad_level(ndr, name, level);
8862 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
8864 if (ndr_flags & NDR_SCALARS) {
8865 NDR_CHECK(ndr_push_align(ndr, 5));
8866 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8867 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8868 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8869 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8871 if (ndr_flags & NDR_BUFFERS) {
8872 if (r->info) {
8873 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
8874 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8877 return NDR_ERR_SUCCESS;
8880 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
8882 uint32_t _ptr_info;
8883 TALLOC_CTX *_mem_save_info_0;
8884 if (ndr_flags & NDR_SCALARS) {
8885 NDR_CHECK(ndr_pull_align(ndr, 5));
8886 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8887 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
8888 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8889 if (_ptr_info) {
8890 NDR_PULL_ALLOC(ndr, r->info);
8891 } else {
8892 r->info = NULL;
8894 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8896 if (ndr_flags & NDR_BUFFERS) {
8897 if (r->info) {
8898 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8899 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8900 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
8901 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8902 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8905 return NDR_ERR_SUCCESS;
8908 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
8910 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
8911 ndr->depth++;
8912 ndr_print_WERROR(ndr, "status", r->status);
8913 ndr_print_uint32(ndr, "level", r->level);
8914 ndr_print_ptr(ndr, "info", r->info);
8915 ndr->depth++;
8916 if (r->info) {
8917 ndr_print_set_switch_value(ndr, r->info, r->level);
8918 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
8920 ndr->depth--;
8921 ndr->depth--;
8924 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
8926 if (ndr_flags & NDR_SCALARS) {
8927 int level = ndr_push_get_switch_value(ndr, r);
8928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8929 NDR_CHECK(ndr_push_union_align(ndr, 5));
8930 switch (level) {
8931 case 1: {
8932 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8933 break; }
8935 default:
8936 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8939 if (ndr_flags & NDR_BUFFERS) {
8940 int level = ndr_push_get_switch_value(ndr, r);
8941 switch (level) {
8942 case 1:
8943 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8944 break;
8946 default:
8947 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8950 return NDR_ERR_SUCCESS;
8953 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
8955 int level;
8956 uint32_t _level;
8957 level = ndr_pull_get_switch_value(ndr, r);
8958 if (ndr_flags & NDR_SCALARS) {
8959 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8960 if (_level != level) {
8961 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8963 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8964 switch (level) {
8965 case 1: {
8966 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8967 break; }
8969 default:
8970 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8973 if (ndr_flags & NDR_BUFFERS) {
8974 switch (level) {
8975 case 1:
8976 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8977 break;
8979 default:
8980 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8983 return NDR_ERR_SUCCESS;
8986 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
8988 int level;
8989 level = ndr_print_get_switch_value(ndr, r);
8990 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
8991 switch (level) {
8992 case 1:
8993 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
8994 break;
8996 default:
8997 ndr_print_bad_level(ndr, name, level);
9001 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9003 if (ndr_flags & NDR_SCALARS) {
9004 NDR_CHECK(ndr_push_align(ndr, 4));
9005 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
9006 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9007 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9009 if (ndr_flags & NDR_BUFFERS) {
9010 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9012 return NDR_ERR_SUCCESS;
9015 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
9017 if (ndr_flags & NDR_SCALARS) {
9018 NDR_CHECK(ndr_pull_align(ndr, 4));
9019 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
9020 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9021 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9023 if (ndr_flags & NDR_BUFFERS) {
9024 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9026 return NDR_ERR_SUCCESS;
9029 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9031 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
9032 ndr->depth++;
9033 ndr_print_GUID(ndr, "guid", &r->guid);
9034 ndr_print_dom_sid28(ndr, "sid", &r->sid);
9035 ndr->depth--;
9038 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
9040 uint32_t cntr_objects_1;
9041 if (ndr_flags & NDR_SCALARS) {
9042 NDR_CHECK(ndr_push_align(ndr, 5));
9043 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9044 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9045 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9046 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9047 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9048 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9050 if (ndr_flags & NDR_BUFFERS) {
9051 if (r->id) {
9052 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9054 if (r->objects) {
9055 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9056 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9057 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9059 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9060 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9064 return NDR_ERR_SUCCESS;
9067 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
9069 uint32_t _ptr_id;
9070 TALLOC_CTX *_mem_save_id_0;
9071 uint32_t _ptr_objects;
9072 uint32_t cntr_objects_1;
9073 TALLOC_CTX *_mem_save_objects_0;
9074 TALLOC_CTX *_mem_save_objects_1;
9075 if (ndr_flags & NDR_SCALARS) {
9076 NDR_CHECK(ndr_pull_align(ndr, 5));
9077 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9078 if (_ptr_id) {
9079 NDR_PULL_ALLOC(ndr, r->id);
9080 } else {
9081 r->id = NULL;
9083 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9084 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9085 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9086 if (r->count > 10000) {
9087 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9089 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9090 if (_ptr_objects) {
9091 NDR_PULL_ALLOC(ndr, r->objects);
9092 } else {
9093 r->objects = NULL;
9095 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9097 if (ndr_flags & NDR_BUFFERS) {
9098 if (r->id) {
9099 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9100 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9101 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9102 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9104 if (r->objects) {
9105 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9106 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9107 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9108 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9109 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9110 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9111 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9112 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9114 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9115 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9117 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9118 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9120 if (r->objects) {
9121 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9124 return NDR_ERR_SUCCESS;
9127 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
9129 uint32_t cntr_objects_1;
9130 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
9131 ndr->depth++;
9132 ndr_print_ptr(ndr, "id", r->id);
9133 ndr->depth++;
9134 if (r->id) {
9135 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9137 ndr->depth--;
9138 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9139 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
9140 ndr_print_uint32(ndr, "count", r->count);
9141 ndr_print_ptr(ndr, "objects", r->objects);
9142 ndr->depth++;
9143 if (r->objects) {
9144 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9145 ndr->depth++;
9146 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9147 char *idx_1=NULL;
9148 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9149 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9150 free(idx_1);
9153 ndr->depth--;
9155 ndr->depth--;
9156 ndr->depth--;
9159 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
9161 uint32_t cntr_objects_1;
9162 if (ndr_flags & NDR_SCALARS) {
9163 NDR_CHECK(ndr_push_align(ndr, 5));
9164 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
9166 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
9167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9168 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9169 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9171 if (ndr_flags & NDR_BUFFERS) {
9172 if (r->id) {
9173 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9175 if (r->error) {
9176 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
9177 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9179 if (r->objects) {
9180 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9181 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9182 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9184 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9185 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9189 return NDR_ERR_SUCCESS;
9192 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
9194 uint32_t _ptr_id;
9195 TALLOC_CTX *_mem_save_id_0;
9196 uint32_t _ptr_error;
9197 TALLOC_CTX *_mem_save_error_0;
9198 uint32_t _ptr_objects;
9199 uint32_t cntr_objects_1;
9200 TALLOC_CTX *_mem_save_objects_0;
9201 TALLOC_CTX *_mem_save_objects_1;
9202 if (ndr_flags & NDR_SCALARS) {
9203 NDR_CHECK(ndr_pull_align(ndr, 5));
9204 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9205 if (_ptr_id) {
9206 NDR_PULL_ALLOC(ndr, r->id);
9207 } else {
9208 r->id = NULL;
9210 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9211 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
9212 if (_ptr_error) {
9213 NDR_PULL_ALLOC(ndr, r->error);
9214 } else {
9215 r->error = NULL;
9217 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9218 if (r->count > 10000) {
9219 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9221 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9222 if (_ptr_objects) {
9223 NDR_PULL_ALLOC(ndr, r->objects);
9224 } else {
9225 r->objects = NULL;
9227 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9229 if (ndr_flags & NDR_BUFFERS) {
9230 if (r->id) {
9231 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9232 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9233 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9234 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9236 if (r->error) {
9237 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
9238 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
9239 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
9240 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
9243 if (r->objects) {
9244 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9245 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9246 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9247 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9248 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9249 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9250 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9251 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9253 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9254 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9256 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9257 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9259 if (r->objects) {
9260 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9263 return NDR_ERR_SUCCESS;
9266 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
9268 uint32_t cntr_objects_1;
9269 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
9270 ndr->depth++;
9271 ndr_print_ptr(ndr, "id", r->id);
9272 ndr->depth++;
9273 if (r->id) {
9274 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9276 ndr->depth--;
9277 ndr_print_uint32(ndr, "level", r->level);
9278 ndr_print_ptr(ndr, "error", r->error);
9279 ndr->depth++;
9280 if (r->error) {
9281 ndr_print_set_switch_value(ndr, r->error, r->level);
9282 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
9284 ndr->depth--;
9285 ndr_print_uint32(ndr, "count", r->count);
9286 ndr_print_ptr(ndr, "objects", r->objects);
9287 ndr->depth++;
9288 if (r->objects) {
9289 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9290 ndr->depth++;
9291 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9292 char *idx_1=NULL;
9293 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9294 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9295 free(idx_1);
9298 ndr->depth--;
9300 ndr->depth--;
9301 ndr->depth--;
9304 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
9306 if (ndr_flags & NDR_SCALARS) {
9307 int level = ndr_push_get_switch_value(ndr, r);
9308 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
9309 NDR_CHECK(ndr_push_union_align(ndr, 5));
9310 switch (level) {
9311 case 2: {
9312 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9313 break; }
9315 case 3: {
9316 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9317 break; }
9319 default:
9320 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9323 if (ndr_flags & NDR_BUFFERS) {
9324 int level = ndr_push_get_switch_value(ndr, r);
9325 switch (level) {
9326 case 2:
9327 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9328 break;
9330 case 3:
9331 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9332 break;
9334 default:
9335 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9338 return NDR_ERR_SUCCESS;
9341 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
9343 int level;
9344 int32_t _level;
9345 level = ndr_pull_get_switch_value(ndr, r);
9346 if (ndr_flags & NDR_SCALARS) {
9347 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
9348 if (_level != level) {
9349 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9351 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9352 switch (level) {
9353 case 2: {
9354 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9355 break; }
9357 case 3: {
9358 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9359 break; }
9361 default:
9362 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9365 if (ndr_flags & NDR_BUFFERS) {
9366 switch (level) {
9367 case 2:
9368 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9369 break;
9371 case 3:
9372 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9373 break;
9375 default:
9376 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9379 return NDR_ERR_SUCCESS;
9382 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
9384 int level;
9385 level = ndr_print_get_switch_value(ndr, r);
9386 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
9387 switch (level) {
9388 case 2:
9389 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
9390 break;
9392 case 3:
9393 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
9394 break;
9396 default:
9397 ndr_print_bad_level(ndr, name, level);
9401 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9404 return NDR_ERR_SUCCESS;
9407 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9409 uint32_t v;
9410 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9411 *r = v;
9412 return NDR_ERR_SUCCESS;
9415 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
9417 ndr_print_uint32(ndr, name, r);
9418 ndr->depth++;
9419 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
9420 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
9421 ndr->depth--;
9424 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
9426 if (ndr_flags & NDR_SCALARS) {
9427 NDR_CHECK(ndr_push_align(ndr, 4));
9428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
9429 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
9430 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9432 if (ndr_flags & NDR_BUFFERS) {
9434 return NDR_ERR_SUCCESS;
9437 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
9439 if (ndr_flags & NDR_SCALARS) {
9440 NDR_CHECK(ndr_pull_align(ndr, 4));
9441 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
9442 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
9443 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9445 if (ndr_flags & NDR_BUFFERS) {
9447 return NDR_ERR_SUCCESS;
9450 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
9452 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
9453 ndr->depth++;
9454 ndr_print_uint32(ndr, "taskID", r->taskID);
9455 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
9456 ndr->depth--;
9459 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
9461 if (ndr_flags & NDR_SCALARS) {
9462 int level = ndr_push_get_switch_value(ndr, r);
9463 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9464 NDR_CHECK(ndr_push_union_align(ndr, 4));
9465 switch (level) {
9466 case 1: {
9467 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9468 break; }
9470 default:
9471 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9474 if (ndr_flags & NDR_BUFFERS) {
9475 int level = ndr_push_get_switch_value(ndr, r);
9476 switch (level) {
9477 case 1:
9478 break;
9480 default:
9481 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9484 return NDR_ERR_SUCCESS;
9487 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
9489 int level;
9490 uint32_t _level;
9491 level = ndr_pull_get_switch_value(ndr, r);
9492 if (ndr_flags & NDR_SCALARS) {
9493 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9494 if (_level != level) {
9495 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9497 NDR_CHECK(ndr_pull_union_align(ndr, 4));
9498 switch (level) {
9499 case 1: {
9500 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9501 break; }
9503 default:
9504 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9507 if (ndr_flags & NDR_BUFFERS) {
9508 switch (level) {
9509 case 1:
9510 break;
9512 default:
9513 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9516 return NDR_ERR_SUCCESS;
9519 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
9521 int level;
9522 level = ndr_print_get_switch_value(ndr, r);
9523 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
9524 switch (level) {
9525 case 1:
9526 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
9527 break;
9529 default:
9530 ndr_print_bad_level(ndr, name, level);
9534 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
9536 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9537 return NDR_ERR_SUCCESS;
9540 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
9542 uint32_t v;
9543 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9544 *r = v;
9545 return NDR_ERR_SUCCESS;
9548 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
9550 const char *val = NULL;
9552 switch (r) {
9553 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9554 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9556 ndr_print_enum(ndr, name, "ENUM", val, r);
9559 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
9561 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9562 return NDR_ERR_SUCCESS;
9565 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
9567 uint32_t v;
9568 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9569 *r = v;
9570 return NDR_ERR_SUCCESS;
9573 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
9575 const char *val = NULL;
9577 switch (r) {
9578 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9579 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9580 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9581 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9582 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9583 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9584 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9585 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9586 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9587 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9588 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9589 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
9590 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: val = "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
9591 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
9592 case DRSUAPI_DS_REPLICA_INFO_06: val = "DRSUAPI_DS_REPLICA_INFO_06"; break;
9594 ndr_print_enum(ndr, name, "ENUM", val, r);
9597 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9599 if (ndr_flags & NDR_SCALARS) {
9600 NDR_CHECK(ndr_push_align(ndr, 5));
9601 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9602 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9603 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9604 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9606 if (ndr_flags & NDR_BUFFERS) {
9607 if (r->object_dn) {
9608 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9609 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9610 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9611 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9614 return NDR_ERR_SUCCESS;
9617 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
9619 uint32_t _ptr_object_dn;
9620 TALLOC_CTX *_mem_save_object_dn_0;
9621 if (ndr_flags & NDR_SCALARS) {
9622 NDR_CHECK(ndr_pull_align(ndr, 5));
9623 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9624 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9625 if (_ptr_object_dn) {
9626 NDR_PULL_ALLOC(ndr, r->object_dn);
9627 } else {
9628 r->object_dn = NULL;
9630 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9631 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9633 if (ndr_flags & NDR_BUFFERS) {
9634 if (r->object_dn) {
9635 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9636 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9637 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9638 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9639 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9640 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));
9642 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9643 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9647 return NDR_ERR_SUCCESS;
9650 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9652 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
9653 ndr->depth++;
9654 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9655 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9656 ndr->depth++;
9657 if (r->object_dn) {
9658 ndr_print_string(ndr, "object_dn", r->object_dn);
9660 ndr->depth--;
9661 ndr_print_GUID(ndr, "guid1", &r->guid1);
9662 ndr->depth--;
9665 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9667 if (ndr_flags & NDR_SCALARS) {
9668 NDR_CHECK(ndr_push_align(ndr, 5));
9669 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9670 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9671 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9672 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
9673 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string1));
9674 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string2));
9675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
9676 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9678 if (ndr_flags & NDR_BUFFERS) {
9679 if (r->object_dn) {
9680 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9681 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9682 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9683 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9685 if (r->string1) {
9686 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9687 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9688 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9689 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string1, ndr_charset_length(r->string1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9691 if (r->string2) {
9692 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9693 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9694 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9695 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string2, ndr_charset_length(r->string2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9698 return NDR_ERR_SUCCESS;
9701 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
9703 uint32_t _ptr_object_dn;
9704 TALLOC_CTX *_mem_save_object_dn_0;
9705 uint32_t _ptr_string1;
9706 TALLOC_CTX *_mem_save_string1_0;
9707 uint32_t _ptr_string2;
9708 TALLOC_CTX *_mem_save_string2_0;
9709 if (ndr_flags & NDR_SCALARS) {
9710 NDR_CHECK(ndr_pull_align(ndr, 5));
9711 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9712 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9713 if (_ptr_object_dn) {
9714 NDR_PULL_ALLOC(ndr, r->object_dn);
9715 } else {
9716 r->object_dn = NULL;
9718 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9719 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
9720 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string1));
9721 if (_ptr_string1) {
9722 NDR_PULL_ALLOC(ndr, r->string1);
9723 } else {
9724 r->string1 = NULL;
9726 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string2));
9727 if (_ptr_string2) {
9728 NDR_PULL_ALLOC(ndr, r->string2);
9729 } else {
9730 r->string2 = NULL;
9732 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
9733 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9735 if (ndr_flags & NDR_BUFFERS) {
9736 if (r->object_dn) {
9737 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9738 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9739 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9740 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9741 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9742 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));
9744 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9745 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9746 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9748 if (r->string1) {
9749 _mem_save_string1_0 = NDR_PULL_GET_MEM_CTX(ndr);
9750 NDR_PULL_SET_MEM_CTX(ndr, r->string1, 0);
9751 NDR_CHECK(ndr_pull_array_size(ndr, &r->string1));
9752 NDR_CHECK(ndr_pull_array_length(ndr, &r->string1));
9753 if (ndr_get_array_length(ndr, &r->string1) > ndr_get_array_size(ndr, &r->string1)) {
9754 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));
9756 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t)));
9757 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string1, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t), CH_UTF16));
9758 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string1_0, 0);
9760 if (r->string2) {
9761 _mem_save_string2_0 = NDR_PULL_GET_MEM_CTX(ndr);
9762 NDR_PULL_SET_MEM_CTX(ndr, r->string2, 0);
9763 NDR_CHECK(ndr_pull_array_size(ndr, &r->string2));
9764 NDR_CHECK(ndr_pull_array_length(ndr, &r->string2));
9765 if (ndr_get_array_length(ndr, &r->string2) > ndr_get_array_size(ndr, &r->string2)) {
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->string2), ndr_get_array_length(ndr, &r->string2));
9768 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t)));
9769 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string2, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t), CH_UTF16));
9770 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string2_0, 0);
9773 return NDR_ERR_SUCCESS;
9776 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9778 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
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_print_uint32(ndr, "flags", r->flags);
9789 ndr_print_ptr(ndr, "string1", r->string1);
9790 ndr->depth++;
9791 if (r->string1) {
9792 ndr_print_string(ndr, "string1", r->string1);
9794 ndr->depth--;
9795 ndr_print_ptr(ndr, "string2", r->string2);
9796 ndr->depth++;
9797 if (r->string2) {
9798 ndr_print_string(ndr, "string2", r->string2);
9800 ndr->depth--;
9801 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
9802 ndr->depth--;
9805 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
9807 if (ndr_flags & NDR_SCALARS) {
9808 int level = ndr_push_get_switch_value(ndr, r);
9809 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
9810 NDR_CHECK(ndr_push_union_align(ndr, 5));
9811 switch (level) {
9812 case DRSUAPI_DS_REPLICA_GET_INFO: {
9813 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9814 break; }
9816 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9817 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9818 break; }
9820 default:
9821 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9824 if (ndr_flags & NDR_BUFFERS) {
9825 int level = ndr_push_get_switch_value(ndr, r);
9826 switch (level) {
9827 case DRSUAPI_DS_REPLICA_GET_INFO:
9828 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9829 break;
9831 case DRSUAPI_DS_REPLICA_GET_INFO2:
9832 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9833 break;
9835 default:
9836 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9839 return NDR_ERR_SUCCESS;
9842 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
9844 int level;
9845 uint32_t _level;
9846 level = ndr_pull_get_switch_value(ndr, r);
9847 if (ndr_flags & NDR_SCALARS) {
9848 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9849 if (_level != level) {
9850 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9852 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9853 switch (level) {
9854 case DRSUAPI_DS_REPLICA_GET_INFO: {
9855 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9856 break; }
9858 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9859 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9860 break; }
9862 default:
9863 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9866 if (ndr_flags & NDR_BUFFERS) {
9867 switch (level) {
9868 case DRSUAPI_DS_REPLICA_GET_INFO:
9869 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9870 break;
9872 case DRSUAPI_DS_REPLICA_GET_INFO2:
9873 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9874 break;
9876 default:
9877 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9880 return NDR_ERR_SUCCESS;
9883 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
9885 int level;
9886 level = ndr_print_get_switch_value(ndr, r);
9887 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
9888 switch (level) {
9889 case DRSUAPI_DS_REPLICA_GET_INFO:
9890 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
9891 break;
9893 case DRSUAPI_DS_REPLICA_GET_INFO2:
9894 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
9895 break;
9897 default:
9898 ndr_print_bad_level(ndr, name, level);
9902 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
9904 if (ndr_flags & NDR_SCALARS) {
9905 NDR_CHECK(ndr_push_align(ndr, 8));
9906 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
9907 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
9908 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
9909 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
9910 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
9911 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9912 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9913 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9914 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9915 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9916 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
9917 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
9918 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
9919 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
9920 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
9921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
9922 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
9924 if (ndr_flags & NDR_BUFFERS) {
9925 if (r->naming_context_dn) {
9926 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9927 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9928 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9929 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));
9931 if (r->source_dsa_obj_dn) {
9932 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9933 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9934 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9935 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));
9937 if (r->source_dsa_address) {
9938 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9939 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9940 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9941 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));
9943 if (r->transport_obj_dn) {
9944 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9945 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9946 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9947 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));
9950 return NDR_ERR_SUCCESS;
9953 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
9955 uint32_t _ptr_naming_context_dn;
9956 TALLOC_CTX *_mem_save_naming_context_dn_0;
9957 uint32_t _ptr_source_dsa_obj_dn;
9958 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
9959 uint32_t _ptr_source_dsa_address;
9960 TALLOC_CTX *_mem_save_source_dsa_address_0;
9961 uint32_t _ptr_transport_obj_dn;
9962 TALLOC_CTX *_mem_save_transport_obj_dn_0;
9963 if (ndr_flags & NDR_SCALARS) {
9964 NDR_CHECK(ndr_pull_align(ndr, 8));
9965 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
9966 if (_ptr_naming_context_dn) {
9967 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
9968 } else {
9969 r->naming_context_dn = NULL;
9971 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
9972 if (_ptr_source_dsa_obj_dn) {
9973 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
9974 } else {
9975 r->source_dsa_obj_dn = NULL;
9977 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
9978 if (_ptr_source_dsa_address) {
9979 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
9980 } else {
9981 r->source_dsa_address = NULL;
9983 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
9984 if (_ptr_transport_obj_dn) {
9985 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
9986 } else {
9987 r->transport_obj_dn = NULL;
9989 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
9990 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9991 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9992 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9993 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9994 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9995 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
9996 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
9997 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
9998 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
9999 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
10000 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
10001 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10003 if (ndr_flags & NDR_BUFFERS) {
10004 if (r->naming_context_dn) {
10005 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10006 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
10007 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
10008 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
10009 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
10010 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));
10012 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
10013 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));
10014 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
10016 if (r->source_dsa_obj_dn) {
10017 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10018 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
10019 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
10020 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
10021 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
10022 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));
10024 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
10025 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));
10026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10028 if (r->source_dsa_address) {
10029 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10030 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
10031 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
10032 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
10033 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
10034 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));
10036 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
10037 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));
10038 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
10040 if (r->transport_obj_dn) {
10041 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10042 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
10043 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
10044 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
10045 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
10046 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));
10048 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
10049 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));
10050 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
10053 return NDR_ERR_SUCCESS;
10056 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
10058 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
10059 ndr->depth++;
10060 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
10061 ndr->depth++;
10062 if (r->naming_context_dn) {
10063 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
10065 ndr->depth--;
10066 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10067 ndr->depth++;
10068 if (r->source_dsa_obj_dn) {
10069 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10071 ndr->depth--;
10072 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
10073 ndr->depth++;
10074 if (r->source_dsa_address) {
10075 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
10077 ndr->depth--;
10078 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
10079 ndr->depth++;
10080 if (r->transport_obj_dn) {
10081 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
10083 ndr->depth--;
10084 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
10085 ndr_print_uint32(ndr, "reserved", r->reserved);
10086 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
10087 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
10088 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10089 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
10090 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
10091 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10092 ndr_print_NTTIME(ndr, "last_success", r->last_success);
10093 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
10094 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
10095 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
10096 ndr->depth--;
10099 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
10101 uint32_t cntr_array_0;
10102 if (ndr_flags & NDR_SCALARS) {
10103 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10104 NDR_CHECK(ndr_push_align(ndr, 8));
10105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10107 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10108 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10110 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10112 if (ndr_flags & NDR_BUFFERS) {
10113 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10114 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10117 return NDR_ERR_SUCCESS;
10120 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
10122 uint32_t cntr_array_0;
10123 TALLOC_CTX *_mem_save_array_0;
10124 if (ndr_flags & NDR_SCALARS) {
10125 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10126 NDR_CHECK(ndr_pull_align(ndr, 8));
10127 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10128 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10129 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10130 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10131 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10132 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10133 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10136 if (r->array) {
10137 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10139 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10141 if (ndr_flags & NDR_BUFFERS) {
10142 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10143 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10144 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10145 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10149 return NDR_ERR_SUCCESS;
10152 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
10154 uint32_t cntr_array_0;
10155 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
10156 ndr->depth++;
10157 ndr_print_uint32(ndr, "count", r->count);
10158 ndr_print_uint32(ndr, "reserved", r->reserved);
10159 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10160 ndr->depth++;
10161 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10162 char *idx_0=NULL;
10163 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10164 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
10165 free(idx_0);
10168 ndr->depth--;
10169 ndr->depth--;
10172 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
10174 uint32_t cntr_array_0;
10175 if (ndr_flags & NDR_SCALARS) {
10176 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10177 NDR_CHECK(ndr_push_align(ndr, 8));
10178 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10180 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10181 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10183 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10185 if (ndr_flags & NDR_BUFFERS) {
10187 return NDR_ERR_SUCCESS;
10190 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
10192 uint32_t cntr_array_0;
10193 TALLOC_CTX *_mem_save_array_0;
10194 if (ndr_flags & NDR_SCALARS) {
10195 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10196 NDR_CHECK(ndr_pull_align(ndr, 8));
10197 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10198 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10199 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10200 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10201 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10202 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10203 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10206 if (r->array) {
10207 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10209 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10211 if (ndr_flags & NDR_BUFFERS) {
10213 return NDR_ERR_SUCCESS;
10216 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
10218 uint32_t cntr_array_0;
10219 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
10220 ndr->depth++;
10221 ndr_print_uint32(ndr, "count", r->count);
10222 ndr_print_uint32(ndr, "reserved", r->reserved);
10223 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10224 ndr->depth++;
10225 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10226 char *idx_0=NULL;
10227 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10228 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
10229 free(idx_0);
10232 ndr->depth--;
10233 ndr->depth--;
10236 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
10238 if (ndr_flags & NDR_SCALARS) {
10239 NDR_CHECK(ndr_push_align(ndr, 8));
10240 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10241 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10242 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10243 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10244 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10245 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10246 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10248 if (ndr_flags & NDR_BUFFERS) {
10249 if (r->attribute_name) {
10250 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10251 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10252 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10253 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10256 return NDR_ERR_SUCCESS;
10259 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
10261 uint32_t _ptr_attribute_name;
10262 TALLOC_CTX *_mem_save_attribute_name_0;
10263 if (ndr_flags & NDR_SCALARS) {
10264 NDR_CHECK(ndr_pull_align(ndr, 8));
10265 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10266 if (_ptr_attribute_name) {
10267 NDR_PULL_ALLOC(ndr, r->attribute_name);
10268 } else {
10269 r->attribute_name = NULL;
10271 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10272 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10273 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10274 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10275 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10276 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10278 if (ndr_flags & NDR_BUFFERS) {
10279 if (r->attribute_name) {
10280 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10281 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10282 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10283 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10284 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10285 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));
10287 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10288 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10289 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10292 return NDR_ERR_SUCCESS;
10295 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
10297 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
10298 ndr->depth++;
10299 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10300 ndr->depth++;
10301 if (r->attribute_name) {
10302 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10304 ndr->depth--;
10305 ndr_print_uint32(ndr, "version", r->version);
10306 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10307 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10308 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10309 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10310 ndr->depth--;
10313 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10315 uint32_t cntr_array_0;
10316 if (ndr_flags & NDR_SCALARS) {
10317 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10318 NDR_CHECK(ndr_push_align(ndr, 8));
10319 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10320 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10321 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10322 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10324 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10326 if (ndr_flags & NDR_BUFFERS) {
10327 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10328 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10331 return NDR_ERR_SUCCESS;
10334 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
10336 uint32_t cntr_array_0;
10337 TALLOC_CTX *_mem_save_array_0;
10338 if (ndr_flags & NDR_SCALARS) {
10339 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10340 NDR_CHECK(ndr_pull_align(ndr, 8));
10341 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10342 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10343 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10344 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10345 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10346 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10347 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10349 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10350 if (r->array) {
10351 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10353 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10355 if (ndr_flags & NDR_BUFFERS) {
10356 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10357 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10358 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10359 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10361 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10363 return NDR_ERR_SUCCESS;
10366 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10368 uint32_t cntr_array_0;
10369 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
10370 ndr->depth++;
10371 ndr_print_uint32(ndr, "count", r->count);
10372 ndr_print_uint32(ndr, "reserved", r->reserved);
10373 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10374 ndr->depth++;
10375 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10376 char *idx_0=NULL;
10377 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10378 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
10379 free(idx_0);
10382 ndr->depth--;
10383 ndr->depth--;
10386 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
10388 if (ndr_flags & NDR_SCALARS) {
10389 NDR_CHECK(ndr_push_align(ndr, 5));
10390 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
10391 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10392 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
10393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
10394 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
10395 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10397 if (ndr_flags & NDR_BUFFERS) {
10398 if (r->dsa_obj_dn) {
10399 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10400 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10401 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10402 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));
10405 return NDR_ERR_SUCCESS;
10408 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
10410 uint32_t _ptr_dsa_obj_dn;
10411 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
10412 if (ndr_flags & NDR_SCALARS) {
10413 NDR_CHECK(ndr_pull_align(ndr, 5));
10414 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
10415 if (_ptr_dsa_obj_dn) {
10416 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
10417 } else {
10418 r->dsa_obj_dn = NULL;
10420 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10421 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
10422 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
10423 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
10424 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10426 if (ndr_flags & NDR_BUFFERS) {
10427 if (r->dsa_obj_dn) {
10428 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10429 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
10430 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
10431 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
10432 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
10433 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));
10435 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
10436 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));
10437 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
10440 return NDR_ERR_SUCCESS;
10443 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
10445 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
10446 ndr->depth++;
10447 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10448 ndr->depth++;
10449 if (r->dsa_obj_dn) {
10450 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10452 ndr->depth--;
10453 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
10454 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
10455 ndr_print_uint32(ndr, "num_failures", r->num_failures);
10456 ndr_print_WERROR(ndr, "last_result", r->last_result);
10457 ndr->depth--;
10460 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10462 uint32_t cntr_array_0;
10463 if (ndr_flags & NDR_SCALARS) {
10464 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10465 NDR_CHECK(ndr_push_align(ndr, 5));
10466 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10468 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10469 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10471 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10473 if (ndr_flags & NDR_BUFFERS) {
10474 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10475 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10478 return NDR_ERR_SUCCESS;
10481 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10483 uint32_t cntr_array_0;
10484 TALLOC_CTX *_mem_save_array_0;
10485 if (ndr_flags & NDR_SCALARS) {
10486 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10487 NDR_CHECK(ndr_pull_align(ndr, 5));
10488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10490 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10491 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10492 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10493 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10494 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10496 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10497 if (r->array) {
10498 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10500 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10502 if (ndr_flags & NDR_BUFFERS) {
10503 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10504 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10505 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10506 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10510 return NDR_ERR_SUCCESS;
10513 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10515 uint32_t cntr_array_0;
10516 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
10517 ndr->depth++;
10518 ndr_print_uint32(ndr, "count", r->count);
10519 ndr_print_uint32(ndr, "reserved", r->reserved);
10520 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10521 ndr->depth++;
10522 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10523 char *idx_0=NULL;
10524 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10525 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
10526 free(idx_0);
10529 ndr->depth--;
10530 ndr->depth--;
10533 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
10535 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
10536 return NDR_ERR_SUCCESS;
10539 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
10541 uint16_t v;
10542 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
10543 *r = v;
10544 return NDR_ERR_SUCCESS;
10547 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
10549 const char *val = NULL;
10551 switch (r) {
10552 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10553 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10554 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10555 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10556 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10558 ndr_print_enum(ndr, name, "ENUM", val, r);
10561 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
10563 if (ndr_flags & NDR_SCALARS) {
10564 NDR_CHECK(ndr_push_align(ndr, 5));
10565 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
10566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
10567 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
10568 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
10569 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
10570 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
10571 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
10572 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
10573 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10574 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10575 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10577 if (ndr_flags & NDR_BUFFERS) {
10578 if (r->nc_dn) {
10579 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10580 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10581 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10582 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10584 if (r->remote_dsa_obj_dn) {
10585 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10586 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10587 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10588 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));
10590 if (r->remote_dsa_address) {
10591 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10592 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10593 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10594 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));
10597 return NDR_ERR_SUCCESS;
10600 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
10602 uint32_t _ptr_nc_dn;
10603 TALLOC_CTX *_mem_save_nc_dn_0;
10604 uint32_t _ptr_remote_dsa_obj_dn;
10605 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
10606 uint32_t _ptr_remote_dsa_address;
10607 TALLOC_CTX *_mem_save_remote_dsa_address_0;
10608 if (ndr_flags & NDR_SCALARS) {
10609 NDR_CHECK(ndr_pull_align(ndr, 5));
10610 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
10611 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
10612 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
10613 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
10614 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
10615 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
10616 if (_ptr_nc_dn) {
10617 NDR_PULL_ALLOC(ndr, r->nc_dn);
10618 } else {
10619 r->nc_dn = NULL;
10621 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
10622 if (_ptr_remote_dsa_obj_dn) {
10623 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
10624 } else {
10625 r->remote_dsa_obj_dn = NULL;
10627 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
10628 if (_ptr_remote_dsa_address) {
10629 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
10630 } else {
10631 r->remote_dsa_address = NULL;
10633 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10634 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10635 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10637 if (ndr_flags & NDR_BUFFERS) {
10638 if (r->nc_dn) {
10639 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10640 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
10641 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
10642 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
10643 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
10644 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));
10646 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
10647 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
10648 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
10650 if (r->remote_dsa_obj_dn) {
10651 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10652 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
10653 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
10654 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
10655 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
10656 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));
10658 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
10659 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));
10660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
10662 if (r->remote_dsa_address) {
10663 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10664 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
10665 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
10666 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
10667 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
10668 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));
10670 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
10671 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));
10672 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
10675 return NDR_ERR_SUCCESS;
10678 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
10680 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
10681 ndr->depth++;
10682 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
10683 ndr_print_uint32(ndr, "serial_num", r->serial_num);
10684 ndr_print_uint32(ndr, "priority", r->priority);
10685 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
10686 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
10687 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
10688 ndr->depth++;
10689 if (r->nc_dn) {
10690 ndr_print_string(ndr, "nc_dn", r->nc_dn);
10692 ndr->depth--;
10693 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10694 ndr->depth++;
10695 if (r->remote_dsa_obj_dn) {
10696 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10698 ndr->depth--;
10699 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
10700 ndr->depth++;
10701 if (r->remote_dsa_address) {
10702 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
10704 ndr->depth--;
10705 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
10706 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
10707 ndr->depth--;
10710 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
10712 uint32_t cntr_array_0;
10713 if (ndr_flags & NDR_SCALARS) {
10714 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10715 NDR_CHECK(ndr_push_align(ndr, 5));
10716 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
10717 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10718 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10719 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10721 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10723 if (ndr_flags & NDR_BUFFERS) {
10724 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10725 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10728 return NDR_ERR_SUCCESS;
10731 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
10733 uint32_t cntr_array_0;
10734 TALLOC_CTX *_mem_save_array_0;
10735 if (ndr_flags & NDR_SCALARS) {
10736 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10737 NDR_CHECK(ndr_pull_align(ndr, 5));
10738 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
10739 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10740 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10741 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10742 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10743 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10744 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10746 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10747 if (r->array) {
10748 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10750 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10752 if (ndr_flags & NDR_BUFFERS) {
10753 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10754 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10755 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10756 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10758 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10760 return NDR_ERR_SUCCESS;
10763 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
10765 uint32_t cntr_array_0;
10766 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
10767 ndr->depth++;
10768 ndr_print_NTTIME(ndr, "time", r->time);
10769 ndr_print_uint32(ndr, "count", r->count);
10770 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10771 ndr->depth++;
10772 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10773 char *idx_0=NULL;
10774 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10775 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
10776 free(idx_0);
10779 ndr->depth--;
10780 ndr->depth--;
10783 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
10785 if (ndr_flags & NDR_SCALARS) {
10786 NDR_CHECK(ndr_push_align(ndr, 8));
10787 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10788 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10789 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
10790 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
10791 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
10792 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
10793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10794 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10795 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10796 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10797 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10798 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10800 if (ndr_flags & NDR_BUFFERS) {
10801 if (r->attribute_name) {
10802 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10803 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10804 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10805 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10807 if (r->object_dn) {
10808 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10809 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10810 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10811 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10813 if (r->binary) {
10814 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
10817 return NDR_ERR_SUCCESS;
10820 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
10822 uint32_t _ptr_attribute_name;
10823 TALLOC_CTX *_mem_save_attribute_name_0;
10824 uint32_t _ptr_object_dn;
10825 TALLOC_CTX *_mem_save_object_dn_0;
10826 uint32_t _ptr_binary;
10827 TALLOC_CTX *_mem_save_binary_0;
10828 if (ndr_flags & NDR_SCALARS) {
10829 NDR_CHECK(ndr_pull_align(ndr, 8));
10830 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10831 if (_ptr_attribute_name) {
10832 NDR_PULL_ALLOC(ndr, r->attribute_name);
10833 } else {
10834 r->attribute_name = NULL;
10836 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
10837 if (_ptr_object_dn) {
10838 NDR_PULL_ALLOC(ndr, r->object_dn);
10839 } else {
10840 r->object_dn = NULL;
10842 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
10843 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
10844 if (_ptr_binary) {
10845 NDR_PULL_ALLOC(ndr, r->binary);
10846 } else {
10847 r->binary = NULL;
10849 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
10850 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
10851 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10852 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10853 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10854 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10855 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10856 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10858 if (ndr_flags & NDR_BUFFERS) {
10859 if (r->attribute_name) {
10860 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10861 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10862 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10863 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10864 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10865 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));
10867 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10868 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10869 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10871 if (r->object_dn) {
10872 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10873 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
10874 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
10875 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
10876 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
10877 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));
10879 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
10880 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
10881 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
10883 if (r->binary) {
10884 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
10885 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
10886 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
10887 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
10890 return NDR_ERR_SUCCESS;
10893 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
10895 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
10896 ndr->depth++;
10897 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10898 ndr->depth++;
10899 if (r->attribute_name) {
10900 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10902 ndr->depth--;
10903 ndr_print_ptr(ndr, "object_dn", r->object_dn);
10904 ndr->depth++;
10905 if (r->object_dn) {
10906 ndr_print_string(ndr, "object_dn", r->object_dn);
10908 ndr->depth--;
10909 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);
10910 ndr_print_ptr(ndr, "binary", r->binary);
10911 ndr->depth++;
10912 if (r->binary) {
10913 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
10915 ndr->depth--;
10916 ndr_print_NTTIME(ndr, "deleted", r->deleted);
10917 ndr_print_NTTIME(ndr, "created", r->created);
10918 ndr_print_uint32(ndr, "version", r->version);
10919 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10920 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10921 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10922 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10923 ndr->depth--;
10926 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10928 uint32_t cntr_array_0;
10929 if (ndr_flags & NDR_SCALARS) {
10930 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10931 NDR_CHECK(ndr_push_align(ndr, 8));
10932 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10933 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
10934 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10935 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10937 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10939 if (ndr_flags & NDR_BUFFERS) {
10940 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10941 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10944 return NDR_ERR_SUCCESS;
10947 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10949 uint32_t cntr_array_0;
10950 TALLOC_CTX *_mem_save_array_0;
10951 if (ndr_flags & NDR_SCALARS) {
10952 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10953 NDR_CHECK(ndr_pull_align(ndr, 8));
10954 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10955 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
10956 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10957 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10958 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10959 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10960 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10962 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10963 if (r->array) {
10964 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10966 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10968 if (ndr_flags & NDR_BUFFERS) {
10969 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10970 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10971 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10972 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10974 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10976 return NDR_ERR_SUCCESS;
10979 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10981 uint32_t cntr_array_0;
10982 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
10983 ndr->depth++;
10984 ndr_print_uint32(ndr, "count", r->count);
10985 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
10986 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10987 ndr->depth++;
10988 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10989 char *idx_0=NULL;
10990 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10991 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
10992 free(idx_0);
10995 ndr->depth--;
10996 ndr->depth--;
10999 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
11001 uint32_t cntr_array_0;
11002 if (ndr_flags & NDR_SCALARS) {
11003 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11004 NDR_CHECK(ndr_push_align(ndr, 8));
11005 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11006 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11007 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11008 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11010 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11012 if (ndr_flags & NDR_BUFFERS) {
11014 return NDR_ERR_SUCCESS;
11017 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
11019 uint32_t cntr_array_0;
11020 TALLOC_CTX *_mem_save_array_0;
11021 if (ndr_flags & NDR_SCALARS) {
11022 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11023 NDR_CHECK(ndr_pull_align(ndr, 8));
11024 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11025 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11026 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11027 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11028 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11029 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11030 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11032 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11033 if (r->array) {
11034 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11036 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11038 if (ndr_flags & NDR_BUFFERS) {
11040 return NDR_ERR_SUCCESS;
11043 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
11045 uint32_t cntr_array_0;
11046 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
11047 ndr->depth++;
11048 ndr_print_uint32(ndr, "count", r->count);
11049 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11050 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11051 ndr->depth++;
11052 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11053 char *idx_0=NULL;
11054 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11055 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
11056 free(idx_0);
11059 ndr->depth--;
11060 ndr->depth--;
11063 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
11065 if (ndr_flags & NDR_SCALARS) {
11066 NDR_CHECK(ndr_push_align(ndr, 8));
11067 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11068 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11069 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
11070 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11071 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11073 if (ndr_flags & NDR_BUFFERS) {
11074 if (r->source_dsa_obj_dn) {
11075 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11076 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11077 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11078 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));
11081 return NDR_ERR_SUCCESS;
11084 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
11086 uint32_t _ptr_source_dsa_obj_dn;
11087 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
11088 if (ndr_flags & NDR_SCALARS) {
11089 NDR_CHECK(ndr_pull_align(ndr, 8));
11090 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11091 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11092 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
11093 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11094 if (_ptr_source_dsa_obj_dn) {
11095 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11096 } else {
11097 r->source_dsa_obj_dn = NULL;
11099 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11101 if (ndr_flags & NDR_BUFFERS) {
11102 if (r->source_dsa_obj_dn) {
11103 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11104 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11105 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11106 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11107 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
11108 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));
11110 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
11111 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));
11112 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11115 return NDR_ERR_SUCCESS;
11118 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
11120 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
11121 ndr->depth++;
11122 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11123 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11124 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
11125 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11126 ndr->depth++;
11127 if (r->source_dsa_obj_dn) {
11128 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11130 ndr->depth--;
11131 ndr->depth--;
11134 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
11136 uint32_t cntr_array_0;
11137 if (ndr_flags & NDR_SCALARS) {
11138 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11139 NDR_CHECK(ndr_push_align(ndr, 8));
11140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11142 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11143 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11145 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11147 if (ndr_flags & NDR_BUFFERS) {
11148 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11149 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11152 return NDR_ERR_SUCCESS;
11155 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
11157 uint32_t cntr_array_0;
11158 TALLOC_CTX *_mem_save_array_0;
11159 if (ndr_flags & NDR_SCALARS) {
11160 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11161 NDR_CHECK(ndr_pull_align(ndr, 8));
11162 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11163 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11164 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11165 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11166 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11167 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11168 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11170 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11171 if (r->array) {
11172 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11174 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11176 if (ndr_flags & NDR_BUFFERS) {
11177 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11178 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11179 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11180 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11182 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11184 return NDR_ERR_SUCCESS;
11187 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
11189 uint32_t cntr_array_0;
11190 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
11191 ndr->depth++;
11192 ndr_print_uint32(ndr, "count", r->count);
11193 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11194 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11195 ndr->depth++;
11196 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11197 char *idx_0=NULL;
11198 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11199 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
11200 free(idx_0);
11203 ndr->depth--;
11204 ndr->depth--;
11207 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
11209 if (ndr_flags & NDR_SCALARS) {
11210 NDR_CHECK(ndr_push_align(ndr, 8));
11211 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11212 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11213 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11214 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11215 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11216 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11217 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11218 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11220 if (ndr_flags & NDR_BUFFERS) {
11221 if (r->attribute_name) {
11222 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11223 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11224 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11225 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11227 if (r->originating_dsa_dn) {
11228 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11229 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11230 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11231 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));
11234 return NDR_ERR_SUCCESS;
11237 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
11239 uint32_t _ptr_attribute_name;
11240 TALLOC_CTX *_mem_save_attribute_name_0;
11241 uint32_t _ptr_originating_dsa_dn;
11242 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11243 if (ndr_flags & NDR_SCALARS) {
11244 NDR_CHECK(ndr_pull_align(ndr, 8));
11245 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11246 if (_ptr_attribute_name) {
11247 NDR_PULL_ALLOC(ndr, r->attribute_name);
11248 } else {
11249 r->attribute_name = NULL;
11251 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11252 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11253 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11254 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11255 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11256 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11257 if (_ptr_originating_dsa_dn) {
11258 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11259 } else {
11260 r->originating_dsa_dn = NULL;
11262 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11264 if (ndr_flags & NDR_BUFFERS) {
11265 if (r->attribute_name) {
11266 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11267 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11268 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11269 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11270 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11271 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));
11273 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11274 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11275 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11277 if (r->originating_dsa_dn) {
11278 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11279 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11280 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11281 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11282 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11283 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));
11285 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11286 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));
11287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11290 return NDR_ERR_SUCCESS;
11293 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
11295 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
11296 ndr->depth++;
11297 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11298 ndr->depth++;
11299 if (r->attribute_name) {
11300 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11302 ndr->depth--;
11303 ndr_print_uint32(ndr, "version", r->version);
11304 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11305 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11306 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11307 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11308 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11309 ndr->depth++;
11310 if (r->originating_dsa_dn) {
11311 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11313 ndr->depth--;
11314 ndr->depth--;
11317 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11319 uint32_t cntr_array_0;
11320 if (ndr_flags & NDR_SCALARS) {
11321 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11322 NDR_CHECK(ndr_push_align(ndr, 8));
11323 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11324 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11325 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11326 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11328 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11330 if (ndr_flags & NDR_BUFFERS) {
11331 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11332 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11335 return NDR_ERR_SUCCESS;
11338 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11340 uint32_t cntr_array_0;
11341 TALLOC_CTX *_mem_save_array_0;
11342 if (ndr_flags & NDR_SCALARS) {
11343 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11344 NDR_CHECK(ndr_pull_align(ndr, 8));
11345 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11346 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11347 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11348 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11349 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11350 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11351 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11353 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11354 if (r->array) {
11355 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11357 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11359 if (ndr_flags & NDR_BUFFERS) {
11360 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11361 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11362 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11363 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11365 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11367 return NDR_ERR_SUCCESS;
11370 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11372 uint32_t cntr_array_0;
11373 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
11374 ndr->depth++;
11375 ndr_print_uint32(ndr, "count", r->count);
11376 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11377 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11378 ndr->depth++;
11379 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11380 char *idx_0=NULL;
11381 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11382 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
11383 free(idx_0);
11386 ndr->depth--;
11387 ndr->depth--;
11390 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11392 if (ndr_flags & NDR_SCALARS) {
11393 NDR_CHECK(ndr_push_align(ndr, 8));
11394 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11395 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11396 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11397 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11398 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11399 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11400 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11401 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11402 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11403 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11404 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11405 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11406 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11408 if (ndr_flags & NDR_BUFFERS) {
11409 if (r->attribute_name) {
11410 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11411 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11412 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11413 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11415 if (r->object_dn) {
11416 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11417 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11418 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11419 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11421 if (r->binary) {
11422 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11424 if (r->originating_dsa_dn) {
11425 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11426 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11427 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11428 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));
11431 return NDR_ERR_SUCCESS;
11434 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
11436 uint32_t _ptr_attribute_name;
11437 TALLOC_CTX *_mem_save_attribute_name_0;
11438 uint32_t _ptr_object_dn;
11439 TALLOC_CTX *_mem_save_object_dn_0;
11440 uint32_t _ptr_binary;
11441 TALLOC_CTX *_mem_save_binary_0;
11442 uint32_t _ptr_originating_dsa_dn;
11443 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11444 if (ndr_flags & NDR_SCALARS) {
11445 NDR_CHECK(ndr_pull_align(ndr, 8));
11446 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11447 if (_ptr_attribute_name) {
11448 NDR_PULL_ALLOC(ndr, r->attribute_name);
11449 } else {
11450 r->attribute_name = NULL;
11452 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11453 if (_ptr_object_dn) {
11454 NDR_PULL_ALLOC(ndr, r->object_dn);
11455 } else {
11456 r->object_dn = NULL;
11458 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11459 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11460 if (_ptr_binary) {
11461 NDR_PULL_ALLOC(ndr, r->binary);
11462 } else {
11463 r->binary = NULL;
11465 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11466 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11468 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11469 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11470 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11471 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11472 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11473 if (_ptr_originating_dsa_dn) {
11474 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11475 } else {
11476 r->originating_dsa_dn = NULL;
11478 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11480 if (ndr_flags & NDR_BUFFERS) {
11481 if (r->attribute_name) {
11482 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11483 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11484 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11485 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11486 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11487 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));
11489 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11490 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11491 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11493 if (r->object_dn) {
11494 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11495 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11496 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11497 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11498 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11499 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));
11501 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11502 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11503 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11505 if (r->binary) {
11506 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11507 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11508 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11509 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11511 if (r->originating_dsa_dn) {
11512 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11513 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11514 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11515 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11516 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11517 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));
11519 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11520 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));
11521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11524 return NDR_ERR_SUCCESS;
11527 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11529 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
11530 ndr->depth++;
11531 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11532 ndr->depth++;
11533 if (r->attribute_name) {
11534 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11536 ndr->depth--;
11537 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11538 ndr->depth++;
11539 if (r->object_dn) {
11540 ndr_print_string(ndr, "object_dn", r->object_dn);
11542 ndr->depth--;
11543 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);
11544 ndr_print_ptr(ndr, "binary", r->binary);
11545 ndr->depth++;
11546 if (r->binary) {
11547 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11549 ndr->depth--;
11550 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11551 ndr_print_NTTIME(ndr, "created", r->created);
11552 ndr_print_uint32(ndr, "version", r->version);
11553 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11554 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11555 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11556 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11557 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11558 ndr->depth++;
11559 if (r->originating_dsa_dn) {
11560 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11562 ndr->depth--;
11563 ndr->depth--;
11566 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11568 uint32_t cntr_array_0;
11569 if (ndr_flags & NDR_SCALARS) {
11570 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11571 NDR_CHECK(ndr_push_align(ndr, 8));
11572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11573 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11574 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11575 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11577 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11579 if (ndr_flags & NDR_BUFFERS) {
11580 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11581 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11584 return NDR_ERR_SUCCESS;
11587 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11589 uint32_t cntr_array_0;
11590 TALLOC_CTX *_mem_save_array_0;
11591 if (ndr_flags & NDR_SCALARS) {
11592 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11593 NDR_CHECK(ndr_pull_align(ndr, 8));
11594 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11595 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11596 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11597 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11598 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11599 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11600 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11602 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11603 if (r->array) {
11604 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11606 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11608 if (ndr_flags & NDR_BUFFERS) {
11609 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11610 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11611 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11612 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11614 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11616 return NDR_ERR_SUCCESS;
11619 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11621 uint32_t cntr_array_0;
11622 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11623 ndr->depth++;
11624 ndr_print_uint32(ndr, "count", r->count);
11625 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11626 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11627 ndr->depth++;
11628 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11629 char *idx_0=NULL;
11630 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11631 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
11632 free(idx_0);
11635 ndr->depth--;
11636 ndr->depth--;
11639 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
11641 if (ndr_flags & NDR_SCALARS) {
11642 NDR_CHECK(ndr_push_align(ndr, 8));
11643 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
11644 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11645 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11646 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11647 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
11649 uint32_t _flags_save_ipv4address = ndr->flags;
11650 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11651 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
11652 ndr->flags = _flags_save_ipv4address;
11654 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11655 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11657 if (ndr_flags & NDR_BUFFERS) {
11659 return NDR_ERR_SUCCESS;
11662 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
11664 if (ndr_flags & NDR_SCALARS) {
11665 NDR_CHECK(ndr_pull_align(ndr, 8));
11666 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
11667 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11668 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11669 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11670 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
11672 uint32_t _flags_save_ipv4address = ndr->flags;
11673 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11674 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
11675 ndr->flags = _flags_save_ipv4address;
11677 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11678 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11680 if (ndr_flags & NDR_BUFFERS) {
11682 return NDR_ERR_SUCCESS;
11685 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
11687 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
11688 ndr->depth++;
11689 ndr_print_hyper(ndr, "u1", r->u1);
11690 ndr_print_uint32(ndr, "u2", r->u2);
11691 ndr_print_uint32(ndr, "u3", r->u3);
11692 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
11693 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
11694 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
11695 ndr_print_uint32(ndr, "u5", r->u5);
11696 ndr->depth--;
11699 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
11701 uint32_t cntr_array_0;
11702 if (ndr_flags & NDR_SCALARS) {
11703 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11704 NDR_CHECK(ndr_push_align(ndr, 8));
11705 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11706 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11707 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11708 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11710 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11712 if (ndr_flags & NDR_BUFFERS) {
11714 return NDR_ERR_SUCCESS;
11717 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
11719 uint32_t cntr_array_0;
11720 TALLOC_CTX *_mem_save_array_0;
11721 if (ndr_flags & NDR_SCALARS) {
11722 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11723 NDR_CHECK(ndr_pull_align(ndr, 8));
11724 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11725 if (r->count > 10000) {
11726 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11728 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11729 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11730 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11731 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11732 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11733 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11735 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11736 if (r->array) {
11737 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11739 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11741 if (ndr_flags & NDR_BUFFERS) {
11743 return NDR_ERR_SUCCESS;
11746 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
11748 uint32_t cntr_array_0;
11749 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
11750 ndr->depth++;
11751 ndr_print_uint32(ndr, "count", r->count);
11752 ndr_print_uint32(ndr, "reserved", r->reserved);
11753 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11754 ndr->depth++;
11755 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11756 char *idx_0=NULL;
11757 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11758 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
11759 free(idx_0);
11762 ndr->depth--;
11763 ndr->depth--;
11766 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
11768 if (ndr_flags & NDR_SCALARS) {
11769 NDR_CHECK(ndr_push_align(ndr, 8));
11770 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
11771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
11772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11774 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
11775 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11776 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
11777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
11778 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11780 if (ndr_flags & NDR_BUFFERS) {
11781 if (r->str1) {
11782 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11783 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11784 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11785 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11788 return NDR_ERR_SUCCESS;
11791 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
11793 uint32_t _ptr_str1;
11794 TALLOC_CTX *_mem_save_str1_0;
11795 if (ndr_flags & NDR_SCALARS) {
11796 NDR_CHECK(ndr_pull_align(ndr, 8));
11797 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
11798 if (_ptr_str1) {
11799 NDR_PULL_ALLOC(ndr, r->str1);
11800 } else {
11801 r->str1 = NULL;
11803 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
11804 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11805 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11806 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
11807 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11808 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
11809 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
11810 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11812 if (ndr_flags & NDR_BUFFERS) {
11813 if (r->str1) {
11814 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
11815 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
11816 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
11817 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
11818 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
11819 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));
11821 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
11822 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
11823 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
11826 return NDR_ERR_SUCCESS;
11829 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
11831 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
11832 ndr->depth++;
11833 ndr_print_ptr(ndr, "str1", r->str1);
11834 ndr->depth++;
11835 if (r->str1) {
11836 ndr_print_string(ndr, "str1", r->str1);
11838 ndr->depth--;
11839 ndr_print_uint32(ndr, "u1", r->u1);
11840 ndr_print_uint32(ndr, "u2", r->u2);
11841 ndr_print_uint32(ndr, "u3", r->u3);
11842 ndr_print_uint32(ndr, "u4", r->u4);
11843 ndr_print_uint32(ndr, "u5", r->u5);
11844 ndr_print_hyper(ndr, "u6", r->u6);
11845 ndr_print_uint32(ndr, "u7", r->u7);
11846 ndr->depth--;
11849 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
11851 uint32_t cntr_array_0;
11852 if (ndr_flags & NDR_SCALARS) {
11853 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11854 NDR_CHECK(ndr_push_align(ndr, 8));
11855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11856 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11857 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11858 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11860 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11862 if (ndr_flags & NDR_BUFFERS) {
11863 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11864 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11867 return NDR_ERR_SUCCESS;
11870 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
11872 uint32_t cntr_array_0;
11873 TALLOC_CTX *_mem_save_array_0;
11874 if (ndr_flags & NDR_SCALARS) {
11875 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11876 NDR_CHECK(ndr_pull_align(ndr, 8));
11877 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11878 if (r->count > 256) {
11879 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11881 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11882 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11883 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11884 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11885 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11886 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11888 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11889 if (r->array) {
11890 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11892 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11894 if (ndr_flags & NDR_BUFFERS) {
11895 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11896 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11897 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11898 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11900 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11902 return NDR_ERR_SUCCESS;
11905 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
11907 uint32_t cntr_array_0;
11908 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
11909 ndr->depth++;
11910 ndr_print_uint32(ndr, "count", r->count);
11911 ndr_print_uint32(ndr, "reserved", r->reserved);
11912 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11913 ndr->depth++;
11914 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11915 char *idx_0=NULL;
11916 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11917 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
11918 free(idx_0);
11921 ndr->depth--;
11922 ndr->depth--;
11925 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
11927 if (ndr_flags & NDR_SCALARS) {
11928 int level = ndr_push_get_switch_value(ndr, r);
11929 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
11930 NDR_CHECK(ndr_push_union_align(ndr, 5));
11931 switch (level) {
11932 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
11933 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
11934 break; }
11936 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
11937 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
11938 break; }
11940 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
11941 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
11942 break; }
11944 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
11945 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
11946 break; }
11948 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
11949 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
11950 break; }
11952 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
11953 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
11954 break; }
11956 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
11957 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
11958 break; }
11960 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
11961 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
11962 break; }
11964 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
11965 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
11966 break; }
11968 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
11969 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
11970 break; }
11972 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
11973 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
11974 break; }
11976 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
11977 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours02));
11978 break; }
11980 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
11981 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connections04));
11982 break; }
11984 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
11985 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors05));
11986 break; }
11988 case DRSUAPI_DS_REPLICA_INFO_06: {
11989 NDR_CHECK(ndr_push_unique_ptr(ndr, r->i06));
11990 break; }
11992 default:
11993 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11996 if (ndr_flags & NDR_BUFFERS) {
11997 int level = ndr_push_get_switch_value(ndr, r);
11998 switch (level) {
11999 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12000 if (r->neighbours) {
12001 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12003 break;
12005 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12006 if (r->cursors) {
12007 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12009 break;
12011 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12012 if (r->objmetadata) {
12013 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12015 break;
12017 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12018 if (r->connectfailures) {
12019 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12021 break;
12023 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12024 if (r->linkfailures) {
12025 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12027 break;
12029 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12030 if (r->pendingops) {
12031 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12033 break;
12035 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12036 if (r->attrvalmetadata) {
12037 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12039 break;
12041 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12042 if (r->cursors2) {
12043 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12045 break;
12047 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12048 if (r->cursors3) {
12049 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12051 break;
12053 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12054 if (r->objmetadata2) {
12055 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12057 break;
12059 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12060 if (r->attrvalmetadata2) {
12061 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12063 break;
12065 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12066 if (r->neighbours02) {
12067 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12069 break;
12071 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12072 if (r->connections04) {
12073 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12075 break;
12077 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12078 if (r->cursors05) {
12079 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12081 break;
12083 case DRSUAPI_DS_REPLICA_INFO_06:
12084 if (r->i06) {
12085 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12087 break;
12089 default:
12090 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12093 return NDR_ERR_SUCCESS;
12096 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
12098 int level;
12099 uint32_t _level;
12100 TALLOC_CTX *_mem_save_neighbours_0;
12101 TALLOC_CTX *_mem_save_cursors_0;
12102 TALLOC_CTX *_mem_save_objmetadata_0;
12103 TALLOC_CTX *_mem_save_connectfailures_0;
12104 TALLOC_CTX *_mem_save_linkfailures_0;
12105 TALLOC_CTX *_mem_save_pendingops_0;
12106 TALLOC_CTX *_mem_save_attrvalmetadata_0;
12107 TALLOC_CTX *_mem_save_cursors2_0;
12108 TALLOC_CTX *_mem_save_cursors3_0;
12109 TALLOC_CTX *_mem_save_objmetadata2_0;
12110 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
12111 TALLOC_CTX *_mem_save_neighbours02_0;
12112 TALLOC_CTX *_mem_save_connections04_0;
12113 TALLOC_CTX *_mem_save_cursors05_0;
12114 TALLOC_CTX *_mem_save_i06_0;
12115 level = ndr_pull_get_switch_value(ndr, r);
12116 if (ndr_flags & NDR_SCALARS) {
12117 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12118 if (_level != level) {
12119 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12121 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12122 switch (level) {
12123 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12124 uint32_t _ptr_neighbours;
12125 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
12126 if (_ptr_neighbours) {
12127 NDR_PULL_ALLOC(ndr, r->neighbours);
12128 } else {
12129 r->neighbours = NULL;
12131 break; }
12133 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12134 uint32_t _ptr_cursors;
12135 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
12136 if (_ptr_cursors) {
12137 NDR_PULL_ALLOC(ndr, r->cursors);
12138 } else {
12139 r->cursors = NULL;
12141 break; }
12143 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12144 uint32_t _ptr_objmetadata;
12145 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
12146 if (_ptr_objmetadata) {
12147 NDR_PULL_ALLOC(ndr, r->objmetadata);
12148 } else {
12149 r->objmetadata = NULL;
12151 break; }
12153 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12154 uint32_t _ptr_connectfailures;
12155 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
12156 if (_ptr_connectfailures) {
12157 NDR_PULL_ALLOC(ndr, r->connectfailures);
12158 } else {
12159 r->connectfailures = NULL;
12161 break; }
12163 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12164 uint32_t _ptr_linkfailures;
12165 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
12166 if (_ptr_linkfailures) {
12167 NDR_PULL_ALLOC(ndr, r->linkfailures);
12168 } else {
12169 r->linkfailures = NULL;
12171 break; }
12173 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12174 uint32_t _ptr_pendingops;
12175 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
12176 if (_ptr_pendingops) {
12177 NDR_PULL_ALLOC(ndr, r->pendingops);
12178 } else {
12179 r->pendingops = NULL;
12181 break; }
12183 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12184 uint32_t _ptr_attrvalmetadata;
12185 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
12186 if (_ptr_attrvalmetadata) {
12187 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
12188 } else {
12189 r->attrvalmetadata = NULL;
12191 break; }
12193 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12194 uint32_t _ptr_cursors2;
12195 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
12196 if (_ptr_cursors2) {
12197 NDR_PULL_ALLOC(ndr, r->cursors2);
12198 } else {
12199 r->cursors2 = NULL;
12201 break; }
12203 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12204 uint32_t _ptr_cursors3;
12205 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
12206 if (_ptr_cursors3) {
12207 NDR_PULL_ALLOC(ndr, r->cursors3);
12208 } else {
12209 r->cursors3 = NULL;
12211 break; }
12213 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12214 uint32_t _ptr_objmetadata2;
12215 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
12216 if (_ptr_objmetadata2) {
12217 NDR_PULL_ALLOC(ndr, r->objmetadata2);
12218 } else {
12219 r->objmetadata2 = NULL;
12221 break; }
12223 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12224 uint32_t _ptr_attrvalmetadata2;
12225 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
12226 if (_ptr_attrvalmetadata2) {
12227 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
12228 } else {
12229 r->attrvalmetadata2 = NULL;
12231 break; }
12233 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
12234 uint32_t _ptr_neighbours02;
12235 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours02));
12236 if (_ptr_neighbours02) {
12237 NDR_PULL_ALLOC(ndr, r->neighbours02);
12238 } else {
12239 r->neighbours02 = NULL;
12241 break; }
12243 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12244 uint32_t _ptr_connections04;
12245 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connections04));
12246 if (_ptr_connections04) {
12247 NDR_PULL_ALLOC(ndr, r->connections04);
12248 } else {
12249 r->connections04 = NULL;
12251 break; }
12253 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12254 uint32_t _ptr_cursors05;
12255 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors05));
12256 if (_ptr_cursors05) {
12257 NDR_PULL_ALLOC(ndr, r->cursors05);
12258 } else {
12259 r->cursors05 = NULL;
12261 break; }
12263 case DRSUAPI_DS_REPLICA_INFO_06: {
12264 uint32_t _ptr_i06;
12265 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_i06));
12266 if (_ptr_i06) {
12267 NDR_PULL_ALLOC(ndr, r->i06);
12268 } else {
12269 r->i06 = NULL;
12271 break; }
12273 default:
12274 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12277 if (ndr_flags & NDR_BUFFERS) {
12278 switch (level) {
12279 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12280 if (r->neighbours) {
12281 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
12282 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
12283 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12284 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
12286 break;
12288 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12289 if (r->cursors) {
12290 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
12291 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
12292 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12293 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
12295 break;
12297 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12298 if (r->objmetadata) {
12299 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12300 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
12301 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
12304 break;
12306 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12307 if (r->connectfailures) {
12308 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12309 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
12310 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12311 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
12313 break;
12315 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12316 if (r->linkfailures) {
12317 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12318 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
12319 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12320 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
12322 break;
12324 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12325 if (r->pendingops) {
12326 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
12327 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
12328 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12329 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
12331 break;
12333 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12334 if (r->attrvalmetadata) {
12335 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12336 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
12337 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
12340 break;
12342 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12343 if (r->cursors2) {
12344 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12345 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
12346 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12347 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
12349 break;
12351 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12352 if (r->cursors3) {
12353 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12354 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
12355 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12356 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
12358 break;
12360 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12361 if (r->objmetadata2) {
12362 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12363 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
12364 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12365 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
12367 break;
12369 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12370 if (r->attrvalmetadata2) {
12371 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12372 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
12373 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12374 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
12376 break;
12378 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12379 if (r->neighbours02) {
12380 _mem_save_neighbours02_0 = NDR_PULL_GET_MEM_CTX(ndr);
12381 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours02, 0);
12382 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours02_0, 0);
12385 break;
12387 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12388 if (r->connections04) {
12389 _mem_save_connections04_0 = NDR_PULL_GET_MEM_CTX(ndr);
12390 NDR_PULL_SET_MEM_CTX(ndr, r->connections04, 0);
12391 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12392 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connections04_0, 0);
12394 break;
12396 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12397 if (r->cursors05) {
12398 _mem_save_cursors05_0 = NDR_PULL_GET_MEM_CTX(ndr);
12399 NDR_PULL_SET_MEM_CTX(ndr, r->cursors05, 0);
12400 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors05_0, 0);
12403 break;
12405 case DRSUAPI_DS_REPLICA_INFO_06:
12406 if (r->i06) {
12407 _mem_save_i06_0 = NDR_PULL_GET_MEM_CTX(ndr);
12408 NDR_PULL_SET_MEM_CTX(ndr, r->i06, 0);
12409 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12410 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_i06_0, 0);
12412 break;
12414 default:
12415 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12418 return NDR_ERR_SUCCESS;
12421 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
12423 int level;
12424 level = ndr_print_get_switch_value(ndr, r);
12425 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
12426 switch (level) {
12427 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12428 ndr_print_ptr(ndr, "neighbours", r->neighbours);
12429 ndr->depth++;
12430 if (r->neighbours) {
12431 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
12433 ndr->depth--;
12434 break;
12436 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12437 ndr_print_ptr(ndr, "cursors", r->cursors);
12438 ndr->depth++;
12439 if (r->cursors) {
12440 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
12442 ndr->depth--;
12443 break;
12445 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12446 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
12447 ndr->depth++;
12448 if (r->objmetadata) {
12449 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
12451 ndr->depth--;
12452 break;
12454 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12455 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
12456 ndr->depth++;
12457 if (r->connectfailures) {
12458 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
12460 ndr->depth--;
12461 break;
12463 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12464 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
12465 ndr->depth++;
12466 if (r->linkfailures) {
12467 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
12469 ndr->depth--;
12470 break;
12472 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12473 ndr_print_ptr(ndr, "pendingops", r->pendingops);
12474 ndr->depth++;
12475 if (r->pendingops) {
12476 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
12478 ndr->depth--;
12479 break;
12481 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12482 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
12483 ndr->depth++;
12484 if (r->attrvalmetadata) {
12485 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
12487 ndr->depth--;
12488 break;
12490 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12491 ndr_print_ptr(ndr, "cursors2", r->cursors2);
12492 ndr->depth++;
12493 if (r->cursors2) {
12494 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
12496 ndr->depth--;
12497 break;
12499 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12500 ndr_print_ptr(ndr, "cursors3", r->cursors3);
12501 ndr->depth++;
12502 if (r->cursors3) {
12503 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
12505 ndr->depth--;
12506 break;
12508 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12509 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
12510 ndr->depth++;
12511 if (r->objmetadata2) {
12512 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
12514 ndr->depth--;
12515 break;
12517 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12518 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12519 ndr->depth++;
12520 if (r->attrvalmetadata2) {
12521 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12523 ndr->depth--;
12524 break;
12526 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12527 ndr_print_ptr(ndr, "neighbours02", r->neighbours02);
12528 ndr->depth++;
12529 if (r->neighbours02) {
12530 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours02", r->neighbours02);
12532 ndr->depth--;
12533 break;
12535 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12536 ndr_print_ptr(ndr, "connections04", r->connections04);
12537 ndr->depth++;
12538 if (r->connections04) {
12539 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "connections04", r->connections04);
12541 ndr->depth--;
12542 break;
12544 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12545 ndr_print_ptr(ndr, "cursors05", r->cursors05);
12546 ndr->depth++;
12547 if (r->cursors05) {
12548 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "cursors05", r->cursors05);
12550 ndr->depth--;
12551 break;
12553 case DRSUAPI_DS_REPLICA_INFO_06:
12554 ndr_print_ptr(ndr, "i06", r->i06);
12555 ndr->depth++;
12556 if (r->i06) {
12557 ndr_print_drsuapi_DsReplica06Ctr(ndr, "i06", r->i06);
12559 ndr->depth--;
12560 break;
12562 default:
12563 ndr_print_bad_level(ndr, name, level);
12567 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
12569 if (ndr_flags & NDR_SCALARS) {
12570 int level = ndr_push_get_switch_value(ndr, r);
12571 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12572 NDR_CHECK(ndr_push_union_align(ndr, 5));
12573 switch (level) {
12574 case 1: {
12575 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12576 break; }
12578 default:
12579 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12582 if (ndr_flags & NDR_BUFFERS) {
12583 int level = ndr_push_get_switch_value(ndr, r);
12584 switch (level) {
12585 case 1:
12586 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12587 break;
12589 default:
12590 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12593 return NDR_ERR_SUCCESS;
12596 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
12598 int level;
12599 int32_t _level;
12600 level = ndr_pull_get_switch_value(ndr, r);
12601 if (ndr_flags & NDR_SCALARS) {
12602 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12603 if (_level != level) {
12604 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12606 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12607 switch (level) {
12608 case 1: {
12609 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12610 break; }
12612 default:
12613 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12616 if (ndr_flags & NDR_BUFFERS) {
12617 switch (level) {
12618 case 1:
12619 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12620 break;
12622 default:
12623 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12626 return NDR_ERR_SUCCESS;
12629 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
12631 int level;
12632 level = ndr_print_get_switch_value(ndr, r);
12633 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
12634 switch (level) {
12635 case 1:
12636 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
12637 break;
12639 default:
12640 ndr_print_bad_level(ndr, name, level);
12644 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
12646 uint32_t cntr_req_array_1;
12647 if (ndr_flags & NDR_SCALARS) {
12648 NDR_CHECK(ndr_push_align(ndr, 5));
12649 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12650 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
12651 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12653 if (ndr_flags & NDR_BUFFERS) {
12654 if (r->req_array) {
12655 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
12656 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12657 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
12659 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12660 if (r->req_array[cntr_req_array_1]) {
12661 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12666 return NDR_ERR_SUCCESS;
12669 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
12671 uint32_t _ptr_req_array;
12672 uint32_t cntr_req_array_1;
12673 TALLOC_CTX *_mem_save_req_array_0;
12674 TALLOC_CTX *_mem_save_req_array_1;
12675 TALLOC_CTX *_mem_save_req_array_2;
12676 if (ndr_flags & NDR_SCALARS) {
12677 NDR_CHECK(ndr_pull_align(ndr, 5));
12678 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12679 if (r->num_req < 1 || r->num_req > 10000) {
12680 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12682 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12683 if (_ptr_req_array) {
12684 NDR_PULL_ALLOC(ndr, r->req_array);
12685 } else {
12686 r->req_array = NULL;
12688 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12690 if (ndr_flags & NDR_BUFFERS) {
12691 if (r->req_array) {
12692 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12693 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12694 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
12695 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
12696 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12697 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12698 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12699 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12700 if (_ptr_req_array) {
12701 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
12702 } else {
12703 r->req_array[cntr_req_array_1] = NULL;
12706 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12707 if (r->req_array[cntr_req_array_1]) {
12708 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
12709 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
12710 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12711 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
12714 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
12715 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
12717 if (r->req_array) {
12718 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
12721 return NDR_ERR_SUCCESS;
12724 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
12726 uint32_t cntr_req_array_1;
12727 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
12728 ndr->depth++;
12729 ndr_print_uint32(ndr, "num_req", r->num_req);
12730 ndr_print_ptr(ndr, "req_array", r->req_array);
12731 ndr->depth++;
12732 if (r->req_array) {
12733 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
12734 ndr->depth++;
12735 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
12736 char *idx_1=NULL;
12737 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
12738 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
12739 ndr->depth++;
12740 if (r->req_array[cntr_req_array_1]) {
12741 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
12743 ndr->depth--;
12744 free(idx_1);
12747 ndr->depth--;
12749 ndr->depth--;
12750 ndr->depth--;
12753 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
12755 if (ndr_flags & NDR_SCALARS) {
12756 int level = ndr_push_get_switch_value(ndr, r);
12757 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12758 NDR_CHECK(ndr_push_union_align(ndr, 5));
12759 switch (level) {
12760 case 1: {
12761 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12762 break; }
12764 default:
12765 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12768 if (ndr_flags & NDR_BUFFERS) {
12769 int level = ndr_push_get_switch_value(ndr, r);
12770 switch (level) {
12771 case 1:
12772 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12773 break;
12775 default:
12776 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12779 return NDR_ERR_SUCCESS;
12782 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
12784 int level;
12785 int32_t _level;
12786 level = ndr_pull_get_switch_value(ndr, r);
12787 if (ndr_flags & NDR_SCALARS) {
12788 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12789 if (_level != level) {
12790 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12792 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12793 switch (level) {
12794 case 1: {
12795 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12796 break; }
12798 default:
12799 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12802 if (ndr_flags & NDR_BUFFERS) {
12803 switch (level) {
12804 case 1:
12805 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12806 break;
12808 default:
12809 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12812 return NDR_ERR_SUCCESS;
12815 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
12817 int level;
12818 level = ndr_print_get_switch_value(ndr, r);
12819 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
12820 switch (level) {
12821 case 1:
12822 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
12823 break;
12825 default:
12826 ndr_print_bad_level(ndr, name, level);
12830 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
12832 if (ndr_flags & NDR_SCALARS) {
12833 NDR_CHECK(ndr_push_align(ndr, 4));
12834 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
12835 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
12836 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
12838 if (ndr_flags & NDR_BUFFERS) {
12840 return NDR_ERR_SUCCESS;
12843 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
12845 if (ndr_flags & NDR_SCALARS) {
12846 NDR_CHECK(ndr_pull_align(ndr, 4));
12847 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
12848 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
12849 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
12851 if (ndr_flags & NDR_BUFFERS) {
12853 return NDR_ERR_SUCCESS;
12856 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
12858 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
12859 ndr->depth++;
12860 ndr_print_WERROR(ndr, "error_code", r->error_code);
12861 ndr_print_uint32(ndr, "site_cost", r->site_cost);
12862 ndr->depth--;
12865 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
12867 uint32_t cntr_info_1;
12868 if (ndr_flags & NDR_SCALARS) {
12869 NDR_CHECK(ndr_push_align(ndr, 5));
12870 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
12871 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
12872 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
12873 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12875 if (ndr_flags & NDR_BUFFERS) {
12876 if (r->info) {
12877 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
12878 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
12879 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12883 return NDR_ERR_SUCCESS;
12886 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
12888 uint32_t _ptr_info;
12889 uint32_t cntr_info_1;
12890 TALLOC_CTX *_mem_save_info_0;
12891 TALLOC_CTX *_mem_save_info_1;
12892 if (ndr_flags & NDR_SCALARS) {
12893 NDR_CHECK(ndr_pull_align(ndr, 5));
12894 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
12895 if (r->num_info > 10000) {
12896 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12898 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12899 if (_ptr_info) {
12900 NDR_PULL_ALLOC(ndr, r->info);
12901 } else {
12902 r->info = NULL;
12904 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
12905 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12907 if (ndr_flags & NDR_BUFFERS) {
12908 if (r->info) {
12909 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12910 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12911 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
12912 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
12913 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12914 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12915 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
12916 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12918 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12919 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12921 if (r->info) {
12922 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
12925 return NDR_ERR_SUCCESS;
12928 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
12930 uint32_t cntr_info_1;
12931 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
12932 ndr->depth++;
12933 ndr_print_uint32(ndr, "num_info", r->num_info);
12934 ndr_print_ptr(ndr, "info", r->info);
12935 ndr->depth++;
12936 if (r->info) {
12937 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
12938 ndr->depth++;
12939 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
12940 char *idx_1=NULL;
12941 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
12942 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
12943 free(idx_1);
12946 ndr->depth--;
12948 ndr->depth--;
12949 ndr_print_uint32(ndr, "unknown", r->unknown);
12950 ndr->depth--;
12953 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
12955 if (ndr_flags & NDR_SCALARS) {
12956 int level = ndr_push_get_switch_value(ndr, r);
12957 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12958 NDR_CHECK(ndr_push_union_align(ndr, 5));
12959 switch (level) {
12960 case 1: {
12961 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12962 break; }
12964 default:
12965 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12968 if (ndr_flags & NDR_BUFFERS) {
12969 int level = ndr_push_get_switch_value(ndr, r);
12970 switch (level) {
12971 case 1:
12972 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12973 break;
12975 default:
12976 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12979 return NDR_ERR_SUCCESS;
12982 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
12984 int level;
12985 int32_t _level;
12986 level = ndr_pull_get_switch_value(ndr, r);
12987 if (ndr_flags & NDR_SCALARS) {
12988 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12989 if (_level != level) {
12990 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12992 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12993 switch (level) {
12994 case 1: {
12995 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12996 break; }
12998 default:
12999 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13002 if (ndr_flags & NDR_BUFFERS) {
13003 switch (level) {
13004 case 1:
13005 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13006 break;
13008 default:
13009 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13012 return NDR_ERR_SUCCESS;
13015 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
13017 int level;
13018 level = ndr_print_get_switch_value(ndr, r);
13019 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
13020 switch (level) {
13021 case 1:
13022 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
13023 break;
13025 default:
13026 ndr_print_bad_level(ndr, name, level);
13030 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
13032 uint32_t cntr_site_to_1;
13033 if (ndr_flags & NDR_SCALARS) {
13034 NDR_CHECK(ndr_push_align(ndr, 5));
13035 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
13036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
13037 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
13038 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
13039 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13041 if (ndr_flags & NDR_BUFFERS) {
13042 if (r->site_from) {
13043 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13044 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13045 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13046 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13048 if (r->site_to) {
13049 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13050 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13051 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
13053 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13054 if (r->site_to[cntr_site_to_1]) {
13055 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13056 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13057 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13058 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));
13063 return NDR_ERR_SUCCESS;
13066 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
13068 uint32_t _ptr_site_from;
13069 TALLOC_CTX *_mem_save_site_from_0;
13070 uint32_t _ptr_site_to;
13071 uint32_t cntr_site_to_1;
13072 TALLOC_CTX *_mem_save_site_to_0;
13073 TALLOC_CTX *_mem_save_site_to_1;
13074 TALLOC_CTX *_mem_save_site_to_2;
13075 if (ndr_flags & NDR_SCALARS) {
13076 NDR_CHECK(ndr_pull_align(ndr, 5));
13077 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
13078 if (_ptr_site_from) {
13079 NDR_PULL_ALLOC(ndr, r->site_from);
13080 } else {
13081 r->site_from = NULL;
13083 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13084 if (r->num_req < 1 || r->num_req > 10000) {
13085 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13087 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13088 if (_ptr_site_to) {
13089 NDR_PULL_ALLOC(ndr, r->site_to);
13090 } else {
13091 r->site_to = NULL;
13093 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
13094 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13096 if (ndr_flags & NDR_BUFFERS) {
13097 if (r->site_from) {
13098 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
13099 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
13100 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
13101 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
13102 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
13103 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));
13105 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
13106 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
13107 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
13109 if (r->site_to) {
13110 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
13111 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13112 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
13113 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
13114 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
13115 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13116 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13117 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13118 if (_ptr_site_to) {
13119 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
13120 } else {
13121 r->site_to[cntr_site_to_1] = NULL;
13124 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13125 if (r->site_to[cntr_site_to_1]) {
13126 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
13127 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
13128 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
13129 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
13130 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])) {
13131 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]));
13133 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
13134 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));
13135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
13138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
13139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
13141 if (r->site_to) {
13142 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
13145 return NDR_ERR_SUCCESS;
13148 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
13150 uint32_t cntr_site_to_1;
13151 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
13152 ndr->depth++;
13153 ndr_print_ptr(ndr, "site_from", r->site_from);
13154 ndr->depth++;
13155 if (r->site_from) {
13156 ndr_print_string(ndr, "site_from", r->site_from);
13158 ndr->depth--;
13159 ndr_print_uint32(ndr, "num_req", r->num_req);
13160 ndr_print_ptr(ndr, "site_to", r->site_to);
13161 ndr->depth++;
13162 if (r->site_to) {
13163 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
13164 ndr->depth++;
13165 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
13166 char *idx_1=NULL;
13167 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
13168 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
13169 ndr->depth++;
13170 if (r->site_to[cntr_site_to_1]) {
13171 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
13173 ndr->depth--;
13174 free(idx_1);
13177 ndr->depth--;
13179 ndr->depth--;
13180 ndr_print_uint32(ndr, "flags", r->flags);
13181 ndr->depth--;
13184 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
13186 if (ndr_flags & NDR_SCALARS) {
13187 int level = ndr_push_get_switch_value(ndr, r);
13188 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13189 NDR_CHECK(ndr_push_union_align(ndr, 5));
13190 switch (level) {
13191 case 1: {
13192 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13193 break; }
13195 default:
13196 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13199 if (ndr_flags & NDR_BUFFERS) {
13200 int level = ndr_push_get_switch_value(ndr, r);
13201 switch (level) {
13202 case 1:
13203 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13204 break;
13206 default:
13207 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13210 return NDR_ERR_SUCCESS;
13213 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
13215 int level;
13216 int32_t _level;
13217 level = ndr_pull_get_switch_value(ndr, r);
13218 if (ndr_flags & NDR_SCALARS) {
13219 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13220 if (_level != level) {
13221 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13223 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13224 switch (level) {
13225 case 1: {
13226 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13227 break; }
13229 default:
13230 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13233 if (ndr_flags & NDR_BUFFERS) {
13234 switch (level) {
13235 case 1:
13236 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13237 break;
13239 default:
13240 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13243 return NDR_ERR_SUCCESS;
13246 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
13248 int level;
13249 level = ndr_print_get_switch_value(ndr, r);
13250 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
13251 switch (level) {
13252 case 1:
13253 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
13254 break;
13256 default:
13257 ndr_print_bad_level(ndr, name, level);
13261 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
13263 if (flags & NDR_IN) {
13264 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
13265 if (r->in.bind_guid) {
13266 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13268 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
13269 if (r->in.bind_info) {
13270 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13273 if (flags & NDR_OUT) {
13274 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
13275 if (r->out.bind_info) {
13276 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13278 if (r->out.bind_handle == NULL) {
13279 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13281 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13282 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13284 return NDR_ERR_SUCCESS;
13287 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
13289 uint32_t _ptr_bind_guid;
13290 uint32_t _ptr_bind_info;
13291 TALLOC_CTX *_mem_save_bind_guid_0;
13292 TALLOC_CTX *_mem_save_bind_info_0;
13293 TALLOC_CTX *_mem_save_bind_handle_0;
13294 if (flags & NDR_IN) {
13295 ZERO_STRUCT(r->out);
13297 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
13298 if (_ptr_bind_guid) {
13299 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
13300 } else {
13301 r->in.bind_guid = NULL;
13303 if (r->in.bind_guid) {
13304 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13305 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
13306 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
13309 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13310 if (_ptr_bind_info) {
13311 NDR_PULL_ALLOC(ndr, r->in.bind_info);
13312 } else {
13313 r->in.bind_info = NULL;
13315 if (r->in.bind_info) {
13316 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13317 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
13318 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13319 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13321 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13322 ZERO_STRUCTP(r->out.bind_handle);
13324 if (flags & NDR_OUT) {
13325 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13326 if (_ptr_bind_info) {
13327 NDR_PULL_ALLOC(ndr, r->out.bind_info);
13328 } else {
13329 r->out.bind_info = NULL;
13331 if (r->out.bind_info) {
13332 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13333 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
13334 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13335 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13337 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13338 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13340 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13341 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13342 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13343 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13344 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13346 return NDR_ERR_SUCCESS;
13349 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
13351 ndr_print_struct(ndr, name, "drsuapi_DsBind");
13352 ndr->depth++;
13353 if (flags & NDR_SET_VALUES) {
13354 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13356 if (flags & NDR_IN) {
13357 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
13358 ndr->depth++;
13359 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
13360 ndr->depth++;
13361 if (r->in.bind_guid) {
13362 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
13364 ndr->depth--;
13365 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
13366 ndr->depth++;
13367 if (r->in.bind_info) {
13368 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
13370 ndr->depth--;
13371 ndr->depth--;
13373 if (flags & NDR_OUT) {
13374 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
13375 ndr->depth++;
13376 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
13377 ndr->depth++;
13378 if (r->out.bind_info) {
13379 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
13381 ndr->depth--;
13382 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13383 ndr->depth++;
13384 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13385 ndr->depth--;
13386 ndr_print_WERROR(ndr, "result", r->out.result);
13387 ndr->depth--;
13389 ndr->depth--;
13392 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
13394 if (flags & NDR_IN) {
13395 if (r->in.bind_handle == NULL) {
13396 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13398 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13400 if (flags & NDR_OUT) {
13401 if (r->out.bind_handle == NULL) {
13402 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13404 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13405 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13407 return NDR_ERR_SUCCESS;
13410 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
13412 TALLOC_CTX *_mem_save_bind_handle_0;
13413 if (flags & NDR_IN) {
13414 ZERO_STRUCT(r->out);
13416 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13417 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13419 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13420 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13421 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13422 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13423 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13424 *r->out.bind_handle = *r->in.bind_handle;
13426 if (flags & NDR_OUT) {
13427 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13428 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13430 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13431 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13432 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13433 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13434 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13436 return NDR_ERR_SUCCESS;
13439 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
13441 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
13442 ndr->depth++;
13443 if (flags & NDR_SET_VALUES) {
13444 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13446 if (flags & NDR_IN) {
13447 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
13448 ndr->depth++;
13449 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13450 ndr->depth++;
13451 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13452 ndr->depth--;
13453 ndr->depth--;
13455 if (flags & NDR_OUT) {
13456 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
13457 ndr->depth++;
13458 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13459 ndr->depth++;
13460 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13461 ndr->depth--;
13462 ndr_print_WERROR(ndr, "result", r->out.result);
13463 ndr->depth--;
13465 ndr->depth--;
13468 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
13470 if (flags & NDR_IN) {
13471 if (r->in.bind_handle == NULL) {
13472 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13474 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13475 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13476 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13477 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13479 if (flags & NDR_OUT) {
13480 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13482 return NDR_ERR_SUCCESS;
13485 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
13487 TALLOC_CTX *_mem_save_bind_handle_0;
13488 if (flags & NDR_IN) {
13489 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13490 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13492 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13493 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13494 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13495 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13496 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13497 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13498 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13500 if (flags & NDR_OUT) {
13501 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13503 return NDR_ERR_SUCCESS;
13506 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
13508 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
13509 ndr->depth++;
13510 if (flags & NDR_SET_VALUES) {
13511 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13513 if (flags & NDR_IN) {
13514 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
13515 ndr->depth++;
13516 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13517 ndr->depth++;
13518 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13519 ndr->depth--;
13520 ndr_print_int32(ndr, "level", r->in.level);
13521 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13522 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", &r->in.req);
13523 ndr->depth--;
13525 if (flags & NDR_OUT) {
13526 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
13527 ndr->depth++;
13528 ndr_print_WERROR(ndr, "result", r->out.result);
13529 ndr->depth--;
13531 ndr->depth--;
13534 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
13536 if (flags & NDR_IN) {
13537 if (r->in.bind_handle == NULL) {
13538 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13540 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13541 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13542 if (r->in.req == NULL) {
13543 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13545 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13546 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13548 if (flags & NDR_OUT) {
13549 if (r->out.level_out == NULL) {
13550 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13552 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13553 if (r->out.ctr == NULL) {
13554 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13556 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13557 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13558 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13560 return NDR_ERR_SUCCESS;
13563 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
13565 TALLOC_CTX *_mem_save_bind_handle_0;
13566 TALLOC_CTX *_mem_save_req_0;
13567 TALLOC_CTX *_mem_save_level_out_0;
13568 TALLOC_CTX *_mem_save_ctr_0;
13569 if (flags & NDR_IN) {
13570 ZERO_STRUCT(r->out);
13572 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13573 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13575 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13576 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13577 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13578 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13579 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13580 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13581 NDR_PULL_ALLOC(ndr, r->in.req);
13583 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13584 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13585 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13586 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13587 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13588 NDR_PULL_ALLOC(ndr, r->out.level_out);
13589 ZERO_STRUCTP(r->out.level_out);
13590 NDR_PULL_ALLOC(ndr, r->out.ctr);
13591 ZERO_STRUCTP(r->out.ctr);
13593 if (flags & NDR_OUT) {
13594 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13595 NDR_PULL_ALLOC(ndr, r->out.level_out);
13597 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13598 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13599 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13600 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13601 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13602 NDR_PULL_ALLOC(ndr, r->out.ctr);
13604 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13605 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13606 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13607 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13608 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13609 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13611 return NDR_ERR_SUCCESS;
13614 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
13616 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
13617 ndr->depth++;
13618 if (flags & NDR_SET_VALUES) {
13619 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13621 if (flags & NDR_IN) {
13622 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
13623 ndr->depth++;
13624 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13625 ndr->depth++;
13626 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13627 ndr->depth--;
13628 ndr_print_int32(ndr, "level", r->in.level);
13629 ndr_print_ptr(ndr, "req", r->in.req);
13630 ndr->depth++;
13631 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13632 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
13633 ndr->depth--;
13634 ndr->depth--;
13636 if (flags & NDR_OUT) {
13637 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
13638 ndr->depth++;
13639 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13640 ndr->depth++;
13641 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13642 ndr->depth--;
13643 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13644 ndr->depth++;
13645 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13646 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
13647 ndr->depth--;
13648 ndr_print_WERROR(ndr, "result", r->out.result);
13649 ndr->depth--;
13651 ndr->depth--;
13654 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13656 if (flags & NDR_IN) {
13657 if (r->in.bind_handle == NULL) {
13658 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13660 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13661 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13662 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13663 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13665 if (flags & NDR_OUT) {
13666 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13668 return NDR_ERR_SUCCESS;
13671 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
13673 TALLOC_CTX *_mem_save_bind_handle_0;
13674 if (flags & NDR_IN) {
13675 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13676 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13678 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13679 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13680 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13681 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13682 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13683 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13684 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13686 if (flags & NDR_OUT) {
13687 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13689 return NDR_ERR_SUCCESS;
13692 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13694 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
13695 ndr->depth++;
13696 if (flags & NDR_SET_VALUES) {
13697 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13699 if (flags & NDR_IN) {
13700 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
13701 ndr->depth++;
13702 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13703 ndr->depth++;
13704 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13705 ndr->depth--;
13706 ndr_print_int32(ndr, "level", r->in.level);
13707 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13708 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
13709 ndr->depth--;
13711 if (flags & NDR_OUT) {
13712 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
13713 ndr->depth++;
13714 ndr_print_WERROR(ndr, "result", r->out.result);
13715 ndr->depth--;
13717 ndr->depth--;
13720 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
13722 if (flags & NDR_IN) {
13723 if (r->in.bind_handle == NULL) {
13724 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13726 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13727 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13728 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13729 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13731 if (flags & NDR_OUT) {
13732 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13734 return NDR_ERR_SUCCESS;
13737 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
13739 TALLOC_CTX *_mem_save_bind_handle_0;
13740 if (flags & NDR_IN) {
13741 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13742 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13744 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13745 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13746 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13747 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13748 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13749 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13750 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13752 if (flags & NDR_OUT) {
13753 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13755 return NDR_ERR_SUCCESS;
13758 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
13760 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
13761 ndr->depth++;
13762 if (flags & NDR_SET_VALUES) {
13763 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13765 if (flags & NDR_IN) {
13766 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
13767 ndr->depth++;
13768 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13769 ndr->depth++;
13770 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13771 ndr->depth--;
13772 ndr_print_int32(ndr, "level", r->in.level);
13773 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13774 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
13775 ndr->depth--;
13777 if (flags & NDR_OUT) {
13778 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
13779 ndr->depth++;
13780 ndr_print_WERROR(ndr, "result", r->out.result);
13781 ndr->depth--;
13783 ndr->depth--;
13786 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
13788 if (flags & NDR_IN) {
13789 if (r->in.bind_handle == NULL) {
13790 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13792 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13793 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13794 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13795 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13797 if (flags & NDR_OUT) {
13798 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13800 return NDR_ERR_SUCCESS;
13803 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
13805 TALLOC_CTX *_mem_save_bind_handle_0;
13806 if (flags & NDR_IN) {
13807 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13808 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13810 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13811 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13812 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13813 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13814 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13815 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13816 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13818 if (flags & NDR_OUT) {
13819 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13821 return NDR_ERR_SUCCESS;
13824 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
13826 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
13827 ndr->depth++;
13828 if (flags & NDR_SET_VALUES) {
13829 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13831 if (flags & NDR_IN) {
13832 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
13833 ndr->depth++;
13834 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13835 ndr->depth++;
13836 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13837 ndr->depth--;
13838 ndr_print_int32(ndr, "level", r->in.level);
13839 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13840 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
13841 ndr->depth--;
13843 if (flags & NDR_OUT) {
13844 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
13845 ndr->depth++;
13846 ndr_print_WERROR(ndr, "result", r->out.result);
13847 ndr->depth--;
13849 ndr->depth--;
13852 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
13854 if (flags & NDR_IN) {
13855 if (r->in.bind_handle == NULL) {
13856 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13858 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13859 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13860 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13861 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13863 if (flags & NDR_OUT) {
13864 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13866 return NDR_ERR_SUCCESS;
13869 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
13871 TALLOC_CTX *_mem_save_bind_handle_0;
13872 if (flags & NDR_IN) {
13873 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13874 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13876 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13877 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13878 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13879 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13880 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13881 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13882 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13884 if (flags & NDR_OUT) {
13885 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13887 return NDR_ERR_SUCCESS;
13890 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
13892 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
13893 ndr->depth++;
13894 if (flags & NDR_SET_VALUES) {
13895 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13897 if (flags & NDR_IN) {
13898 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
13899 ndr->depth++;
13900 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13901 ndr->depth++;
13902 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13903 ndr->depth--;
13904 ndr_print_int32(ndr, "level", r->in.level);
13905 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13906 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
13907 ndr->depth--;
13909 if (flags & NDR_OUT) {
13910 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
13911 ndr->depth++;
13912 ndr_print_WERROR(ndr, "result", r->out.result);
13913 ndr->depth--;
13915 ndr->depth--;
13918 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13920 if (flags & NDR_IN) {
13922 if (flags & NDR_OUT) {
13923 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13925 return NDR_ERR_SUCCESS;
13928 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
13930 if (flags & NDR_IN) {
13932 if (flags & NDR_OUT) {
13933 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13935 return NDR_ERR_SUCCESS;
13938 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13940 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
13941 ndr->depth++;
13942 if (flags & NDR_SET_VALUES) {
13943 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13945 if (flags & NDR_IN) {
13946 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
13947 ndr->depth++;
13948 ndr->depth--;
13950 if (flags & NDR_OUT) {
13951 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
13952 ndr->depth++;
13953 ndr_print_WERROR(ndr, "result", r->out.result);
13954 ndr->depth--;
13956 ndr->depth--;
13959 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
13961 if (flags & NDR_IN) {
13962 if (r->in.bind_handle == NULL) {
13963 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13965 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13966 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13967 if (r->in.req == NULL) {
13968 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13970 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13971 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13973 if (flags & NDR_OUT) {
13974 if (r->out.level_out == NULL) {
13975 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13977 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13978 if (r->out.ctr == NULL) {
13979 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13981 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13982 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13983 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13985 return NDR_ERR_SUCCESS;
13988 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
13990 TALLOC_CTX *_mem_save_bind_handle_0;
13991 TALLOC_CTX *_mem_save_req_0;
13992 TALLOC_CTX *_mem_save_level_out_0;
13993 TALLOC_CTX *_mem_save_ctr_0;
13994 if (flags & NDR_IN) {
13995 ZERO_STRUCT(r->out);
13997 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13998 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14000 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14001 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14002 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14003 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14004 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14005 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14006 NDR_PULL_ALLOC(ndr, r->in.req);
14008 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14009 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14010 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14011 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14012 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14013 NDR_PULL_ALLOC(ndr, r->out.level_out);
14014 ZERO_STRUCTP(r->out.level_out);
14015 NDR_PULL_ALLOC(ndr, r->out.ctr);
14016 ZERO_STRUCTP(r->out.ctr);
14018 if (flags & NDR_OUT) {
14019 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14020 NDR_PULL_ALLOC(ndr, r->out.level_out);
14022 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14023 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14024 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14025 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14026 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14027 NDR_PULL_ALLOC(ndr, r->out.ctr);
14029 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14030 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14031 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14032 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14033 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14034 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14036 return NDR_ERR_SUCCESS;
14039 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
14041 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
14042 ndr->depth++;
14043 if (flags & NDR_SET_VALUES) {
14044 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14046 if (flags & NDR_IN) {
14047 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
14048 ndr->depth++;
14049 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14050 ndr->depth++;
14051 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14052 ndr->depth--;
14053 ndr_print_int32(ndr, "level", r->in.level);
14054 ndr_print_ptr(ndr, "req", r->in.req);
14055 ndr->depth++;
14056 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14057 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
14058 ndr->depth--;
14059 ndr->depth--;
14061 if (flags & NDR_OUT) {
14062 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
14063 ndr->depth++;
14064 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14065 ndr->depth++;
14066 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14067 ndr->depth--;
14068 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14069 ndr->depth++;
14070 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14071 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
14072 ndr->depth--;
14073 ndr_print_WERROR(ndr, "result", r->out.result);
14074 ndr->depth--;
14076 ndr->depth--;
14079 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14081 if (flags & NDR_IN) {
14083 if (flags & NDR_OUT) {
14084 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14086 return NDR_ERR_SUCCESS;
14089 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14091 if (flags & NDR_IN) {
14093 if (flags & NDR_OUT) {
14094 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14096 return NDR_ERR_SUCCESS;
14099 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14101 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
14102 ndr->depth++;
14103 if (flags & NDR_SET_VALUES) {
14104 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14106 if (flags & NDR_IN) {
14107 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14108 ndr->depth++;
14109 ndr->depth--;
14111 if (flags & NDR_OUT) {
14112 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14113 ndr->depth++;
14114 ndr_print_WERROR(ndr, "result", r->out.result);
14115 ndr->depth--;
14117 ndr->depth--;
14120 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14122 if (flags & NDR_IN) {
14123 if (r->in.bind_handle == NULL) {
14124 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14126 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14128 if (r->in.req == NULL) {
14129 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14131 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14132 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14134 if (flags & NDR_OUT) {
14135 if (r->out.level_out == NULL) {
14136 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14138 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14139 if (r->out.info == NULL) {
14140 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14142 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
14143 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14144 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14146 return NDR_ERR_SUCCESS;
14149 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
14151 TALLOC_CTX *_mem_save_bind_handle_0;
14152 TALLOC_CTX *_mem_save_req_0;
14153 TALLOC_CTX *_mem_save_level_out_0;
14154 TALLOC_CTX *_mem_save_info_0;
14155 if (flags & NDR_IN) {
14156 ZERO_STRUCT(r->out);
14158 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14159 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14161 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14162 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14163 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14164 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14165 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14166 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14167 NDR_PULL_ALLOC(ndr, r->in.req);
14169 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14170 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14171 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14172 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14173 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14174 NDR_PULL_ALLOC(ndr, r->out.level_out);
14175 ZERO_STRUCTP(r->out.level_out);
14176 NDR_PULL_ALLOC(ndr, r->out.info);
14177 ZERO_STRUCTP(r->out.info);
14179 if (flags & NDR_OUT) {
14180 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14181 NDR_PULL_ALLOC(ndr, r->out.level_out);
14183 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14184 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14185 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14186 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14187 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14188 NDR_PULL_ALLOC(ndr, r->out.info);
14190 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14191 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14192 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
14193 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14194 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14195 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14197 return NDR_ERR_SUCCESS;
14200 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14202 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
14203 ndr->depth++;
14204 if (flags & NDR_SET_VALUES) {
14205 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14207 if (flags & NDR_IN) {
14208 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
14209 ndr->depth++;
14210 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14211 ndr->depth++;
14212 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14213 ndr->depth--;
14214 ndr_print_uint32(ndr, "level", r->in.level);
14215 ndr_print_ptr(ndr, "req", r->in.req);
14216 ndr->depth++;
14217 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14218 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
14219 ndr->depth--;
14220 ndr->depth--;
14222 if (flags & NDR_OUT) {
14223 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
14224 ndr->depth++;
14225 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14226 ndr->depth++;
14227 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14228 ndr->depth--;
14229 ndr_print_ptr(ndr, "info", r->out.info);
14230 ndr->depth++;
14231 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
14232 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
14233 ndr->depth--;
14234 ndr_print_WERROR(ndr, "result", r->out.result);
14235 ndr->depth--;
14237 ndr->depth--;
14240 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
14242 if (flags & NDR_IN) {
14243 if (r->in.bind_handle == NULL) {
14244 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14246 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14247 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14248 if (r->in.req == NULL) {
14249 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14251 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14252 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14254 if (flags & NDR_OUT) {
14255 if (r->out.level_out == NULL) {
14256 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14258 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14259 if (r->out.ctr == NULL) {
14260 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14262 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14263 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14264 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14266 return NDR_ERR_SUCCESS;
14269 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
14271 TALLOC_CTX *_mem_save_bind_handle_0;
14272 TALLOC_CTX *_mem_save_req_0;
14273 TALLOC_CTX *_mem_save_level_out_0;
14274 TALLOC_CTX *_mem_save_ctr_0;
14275 if (flags & NDR_IN) {
14276 ZERO_STRUCT(r->out);
14278 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14279 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14281 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14282 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14283 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14284 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14285 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14286 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14287 NDR_PULL_ALLOC(ndr, r->in.req);
14289 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14290 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14291 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14292 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14293 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14294 NDR_PULL_ALLOC(ndr, r->out.level_out);
14295 ZERO_STRUCTP(r->out.level_out);
14296 NDR_PULL_ALLOC(ndr, r->out.ctr);
14297 ZERO_STRUCTP(r->out.ctr);
14299 if (flags & NDR_OUT) {
14300 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14301 NDR_PULL_ALLOC(ndr, r->out.level_out);
14303 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14304 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14305 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14306 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14307 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14308 NDR_PULL_ALLOC(ndr, r->out.ctr);
14310 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14311 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14312 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14313 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14314 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14315 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14317 return NDR_ERR_SUCCESS;
14320 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
14322 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
14323 ndr->depth++;
14324 if (flags & NDR_SET_VALUES) {
14325 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14327 if (flags & NDR_IN) {
14328 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
14329 ndr->depth++;
14330 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14331 ndr->depth++;
14332 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14333 ndr->depth--;
14334 ndr_print_int32(ndr, "level", r->in.level);
14335 ndr_print_ptr(ndr, "req", r->in.req);
14336 ndr->depth++;
14337 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14338 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
14339 ndr->depth--;
14340 ndr->depth--;
14342 if (flags & NDR_OUT) {
14343 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
14344 ndr->depth++;
14345 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14346 ndr->depth++;
14347 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14348 ndr->depth--;
14349 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14350 ndr->depth++;
14351 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14352 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
14353 ndr->depth--;
14354 ndr_print_WERROR(ndr, "result", r->out.result);
14355 ndr->depth--;
14357 ndr->depth--;
14360 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14362 if (flags & NDR_IN) {
14363 if (r->in.bind_handle == NULL) {
14364 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14366 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14367 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14368 if (r->in.req == NULL) {
14369 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14371 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14372 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14374 if (flags & NDR_OUT) {
14375 if (r->out.level_out == NULL) {
14376 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14378 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14379 if (r->out.res == NULL) {
14380 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14382 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14383 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14384 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14386 return NDR_ERR_SUCCESS;
14389 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
14391 TALLOC_CTX *_mem_save_bind_handle_0;
14392 TALLOC_CTX *_mem_save_req_0;
14393 TALLOC_CTX *_mem_save_level_out_0;
14394 TALLOC_CTX *_mem_save_res_0;
14395 if (flags & NDR_IN) {
14396 ZERO_STRUCT(r->out);
14398 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14399 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14401 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14402 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14403 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14404 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14405 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14406 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14407 NDR_PULL_ALLOC(ndr, r->in.req);
14409 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14410 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14411 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14412 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14413 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14414 NDR_PULL_ALLOC(ndr, r->out.level_out);
14415 ZERO_STRUCTP(r->out.level_out);
14416 NDR_PULL_ALLOC(ndr, r->out.res);
14417 ZERO_STRUCTP(r->out.res);
14419 if (flags & NDR_OUT) {
14420 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14421 NDR_PULL_ALLOC(ndr, r->out.level_out);
14423 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14424 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14425 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14426 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14427 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14428 NDR_PULL_ALLOC(ndr, r->out.res);
14430 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14431 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14432 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14433 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14434 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14435 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14437 return NDR_ERR_SUCCESS;
14440 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14442 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
14443 ndr->depth++;
14444 if (flags & NDR_SET_VALUES) {
14445 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14447 if (flags & NDR_IN) {
14448 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
14449 ndr->depth++;
14450 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14451 ndr->depth++;
14452 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14453 ndr->depth--;
14454 ndr_print_int32(ndr, "level", r->in.level);
14455 ndr_print_ptr(ndr, "req", r->in.req);
14456 ndr->depth++;
14457 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14458 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
14459 ndr->depth--;
14460 ndr->depth--;
14462 if (flags & NDR_OUT) {
14463 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
14464 ndr->depth++;
14465 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14466 ndr->depth++;
14467 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14468 ndr->depth--;
14469 ndr_print_ptr(ndr, "res", r->out.res);
14470 ndr->depth++;
14471 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14472 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
14473 ndr->depth--;
14474 ndr_print_WERROR(ndr, "result", r->out.result);
14475 ndr->depth--;
14477 ndr->depth--;
14480 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
14482 if (flags & NDR_IN) {
14483 if (r->in.bind_handle == NULL) {
14484 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14486 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14487 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14488 if (r->in.req == NULL) {
14489 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14491 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14492 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14494 if (flags & NDR_OUT) {
14495 if (r->out.level_out == NULL) {
14496 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14498 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14499 if (r->out.res == NULL) {
14500 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14502 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14503 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14504 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14506 return NDR_ERR_SUCCESS;
14509 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
14511 TALLOC_CTX *_mem_save_bind_handle_0;
14512 TALLOC_CTX *_mem_save_req_0;
14513 TALLOC_CTX *_mem_save_level_out_0;
14514 TALLOC_CTX *_mem_save_res_0;
14515 if (flags & NDR_IN) {
14516 ZERO_STRUCT(r->out);
14518 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14519 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14521 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14522 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14523 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14524 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14525 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14526 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14527 NDR_PULL_ALLOC(ndr, r->in.req);
14529 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14530 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14531 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14532 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14533 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14534 NDR_PULL_ALLOC(ndr, r->out.level_out);
14535 ZERO_STRUCTP(r->out.level_out);
14536 NDR_PULL_ALLOC(ndr, r->out.res);
14537 ZERO_STRUCTP(r->out.res);
14539 if (flags & NDR_OUT) {
14540 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14541 NDR_PULL_ALLOC(ndr, r->out.level_out);
14543 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14544 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14545 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14546 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14547 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14548 NDR_PULL_ALLOC(ndr, r->out.res);
14550 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14551 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14552 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14553 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14554 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14555 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14557 return NDR_ERR_SUCCESS;
14560 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
14562 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
14563 ndr->depth++;
14564 if (flags & NDR_SET_VALUES) {
14565 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14567 if (flags & NDR_IN) {
14568 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
14569 ndr->depth++;
14570 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14571 ndr->depth++;
14572 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14573 ndr->depth--;
14574 ndr_print_int32(ndr, "level", r->in.level);
14575 ndr_print_ptr(ndr, "req", r->in.req);
14576 ndr->depth++;
14577 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14578 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
14579 ndr->depth--;
14580 ndr->depth--;
14582 if (flags & NDR_OUT) {
14583 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
14584 ndr->depth++;
14585 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14586 ndr->depth++;
14587 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14588 ndr->depth--;
14589 ndr_print_ptr(ndr, "res", r->out.res);
14590 ndr->depth++;
14591 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14592 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
14593 ndr->depth--;
14594 ndr_print_WERROR(ndr, "result", r->out.result);
14595 ndr->depth--;
14597 ndr->depth--;
14600 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14602 if (flags & NDR_IN) {
14604 if (flags & NDR_OUT) {
14605 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14607 return NDR_ERR_SUCCESS;
14610 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14612 if (flags & NDR_IN) {
14614 if (flags & NDR_OUT) {
14615 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14617 return NDR_ERR_SUCCESS;
14620 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14622 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
14623 ndr->depth++;
14624 if (flags & NDR_SET_VALUES) {
14625 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14627 if (flags & NDR_IN) {
14628 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14629 ndr->depth++;
14630 ndr->depth--;
14632 if (flags & NDR_OUT) {
14633 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14634 ndr->depth++;
14635 ndr_print_WERROR(ndr, "result", r->out.result);
14636 ndr->depth--;
14638 ndr->depth--;
14641 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14643 if (flags & NDR_IN) {
14644 if (r->in.bind_handle == NULL) {
14645 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14647 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14648 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14649 if (r->in.req == NULL) {
14650 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14652 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14653 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14655 if (flags & NDR_OUT) {
14656 if (r->out.level_out == NULL) {
14657 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14659 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14660 if (r->out.ctr == NULL) {
14661 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14663 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14664 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14665 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14667 return NDR_ERR_SUCCESS;
14670 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
14672 TALLOC_CTX *_mem_save_bind_handle_0;
14673 TALLOC_CTX *_mem_save_req_0;
14674 TALLOC_CTX *_mem_save_level_out_0;
14675 TALLOC_CTX *_mem_save_ctr_0;
14676 if (flags & NDR_IN) {
14677 ZERO_STRUCT(r->out);
14679 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14680 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14682 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14683 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14684 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14685 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14686 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14687 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14688 NDR_PULL_ALLOC(ndr, r->in.req);
14690 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14691 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14692 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14693 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14694 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14695 NDR_PULL_ALLOC(ndr, r->out.level_out);
14696 ZERO_STRUCTP(r->out.level_out);
14697 NDR_PULL_ALLOC(ndr, r->out.ctr);
14698 ZERO_STRUCTP(r->out.ctr);
14700 if (flags & NDR_OUT) {
14701 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14702 NDR_PULL_ALLOC(ndr, r->out.level_out);
14704 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14705 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14706 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14707 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14708 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14709 NDR_PULL_ALLOC(ndr, r->out.ctr);
14711 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14712 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14713 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14714 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14715 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14716 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14718 return NDR_ERR_SUCCESS;
14721 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14723 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
14724 ndr->depth++;
14725 if (flags & NDR_SET_VALUES) {
14726 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14728 if (flags & NDR_IN) {
14729 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
14730 ndr->depth++;
14731 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14732 ndr->depth++;
14733 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14734 ndr->depth--;
14735 ndr_print_int32(ndr, "level", r->in.level);
14736 ndr_print_ptr(ndr, "req", r->in.req);
14737 ndr->depth++;
14738 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14739 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
14740 ndr->depth--;
14741 ndr->depth--;
14743 if (flags & NDR_OUT) {
14744 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
14745 ndr->depth++;
14746 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14747 ndr->depth++;
14748 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14749 ndr->depth--;
14750 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14751 ndr->depth++;
14752 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14753 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
14754 ndr->depth--;
14755 ndr_print_WERROR(ndr, "result", r->out.result);
14756 ndr->depth--;
14758 ndr->depth--;
14761 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
14763 if (flags & NDR_IN) {
14764 if (r->in.bind_handle == NULL) {
14765 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14767 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14768 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14769 if (r->in.req == NULL) {
14770 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14772 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14773 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14775 if (flags & NDR_OUT) {
14776 if (r->out.level_out == NULL) {
14777 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14779 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14780 if (r->out.ctr == NULL) {
14781 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14783 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14784 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14785 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14787 return NDR_ERR_SUCCESS;
14790 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
14792 TALLOC_CTX *_mem_save_bind_handle_0;
14793 TALLOC_CTX *_mem_save_req_0;
14794 TALLOC_CTX *_mem_save_level_out_0;
14795 TALLOC_CTX *_mem_save_ctr_0;
14796 if (flags & NDR_IN) {
14797 ZERO_STRUCT(r->out);
14799 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14800 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14802 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14803 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14804 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14805 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14806 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14807 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14808 NDR_PULL_ALLOC(ndr, r->in.req);
14810 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14811 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14812 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14813 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14814 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14815 NDR_PULL_ALLOC(ndr, r->out.level_out);
14816 ZERO_STRUCTP(r->out.level_out);
14817 NDR_PULL_ALLOC(ndr, r->out.ctr);
14818 ZERO_STRUCTP(r->out.ctr);
14820 if (flags & NDR_OUT) {
14821 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14822 NDR_PULL_ALLOC(ndr, r->out.level_out);
14824 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14825 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14826 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14827 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14828 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14829 NDR_PULL_ALLOC(ndr, r->out.ctr);
14831 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14832 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14833 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14834 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14835 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14836 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14838 return NDR_ERR_SUCCESS;
14841 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
14843 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
14844 ndr->depth++;
14845 if (flags & NDR_SET_VALUES) {
14846 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14848 if (flags & NDR_IN) {
14849 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
14850 ndr->depth++;
14851 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14852 ndr->depth++;
14853 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14854 ndr->depth--;
14855 ndr_print_int32(ndr, "level", r->in.level);
14856 ndr_print_ptr(ndr, "req", r->in.req);
14857 ndr->depth++;
14858 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14859 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
14860 ndr->depth--;
14861 ndr->depth--;
14863 if (flags & NDR_OUT) {
14864 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
14865 ndr->depth++;
14866 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14867 ndr->depth++;
14868 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14869 ndr->depth--;
14870 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14871 ndr->depth++;
14872 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14873 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
14874 ndr->depth--;
14875 ndr_print_WERROR(ndr, "result", r->out.result);
14876 ndr->depth--;
14878 ndr->depth--;
14881 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
14883 if (flags & NDR_IN) {
14884 if (r->in.bind_handle == NULL) {
14885 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14887 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14888 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14889 if (r->in.req == NULL) {
14890 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14892 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14893 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
14895 if (flags & NDR_OUT) {
14896 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14898 return NDR_ERR_SUCCESS;
14901 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
14903 TALLOC_CTX *_mem_save_bind_handle_0;
14904 TALLOC_CTX *_mem_save_req_0;
14905 if (flags & NDR_IN) {
14906 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14907 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14909 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14910 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14911 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14912 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14914 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14915 NDR_PULL_ALLOC(ndr, r->in.req);
14917 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14918 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14919 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14920 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
14921 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14923 if (flags & NDR_OUT) {
14924 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14926 return NDR_ERR_SUCCESS;
14929 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
14931 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
14932 ndr->depth++;
14933 if (flags & NDR_SET_VALUES) {
14934 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14936 if (flags & NDR_IN) {
14937 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
14938 ndr->depth++;
14939 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14940 ndr->depth++;
14941 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14942 ndr->depth--;
14943 ndr_print_uint32(ndr, "level", r->in.level);
14944 ndr_print_ptr(ndr, "req", r->in.req);
14945 ndr->depth++;
14946 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14947 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
14948 ndr->depth--;
14949 ndr->depth--;
14951 if (flags & NDR_OUT) {
14952 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
14953 ndr->depth++;
14954 ndr_print_WERROR(ndr, "result", r->out.result);
14955 ndr->depth--;
14957 ndr->depth--;
14960 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
14962 if (flags & NDR_IN) {
14963 if (r->in.bind_handle == NULL) {
14964 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14966 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14967 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
14968 if (r->in.req == NULL) {
14969 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14971 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14972 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14974 if (flags & NDR_OUT) {
14975 if (r->out.info_type == NULL) {
14976 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14978 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
14979 if (r->out.info == NULL) {
14980 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14982 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
14983 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14984 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14986 return NDR_ERR_SUCCESS;
14989 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
14991 TALLOC_CTX *_mem_save_bind_handle_0;
14992 TALLOC_CTX *_mem_save_req_0;
14993 TALLOC_CTX *_mem_save_info_type_0;
14994 TALLOC_CTX *_mem_save_info_0;
14995 if (flags & NDR_IN) {
14996 ZERO_STRUCT(r->out);
14998 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14999 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15001 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15002 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15003 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15004 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15005 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
15006 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15007 NDR_PULL_ALLOC(ndr, r->in.req);
15009 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15010 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15011 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15012 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15013 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15014 NDR_PULL_ALLOC(ndr, r->out.info_type);
15015 ZERO_STRUCTP(r->out.info_type);
15016 NDR_PULL_ALLOC(ndr, r->out.info);
15017 ZERO_STRUCTP(r->out.info);
15019 if (flags & NDR_OUT) {
15020 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15021 NDR_PULL_ALLOC(ndr, r->out.info_type);
15023 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
15024 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
15025 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
15026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
15027 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15028 NDR_PULL_ALLOC(ndr, r->out.info);
15030 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15031 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15032 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
15033 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15034 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15035 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15037 return NDR_ERR_SUCCESS;
15040 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15042 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
15043 ndr->depth++;
15044 if (flags & NDR_SET_VALUES) {
15045 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15047 if (flags & NDR_IN) {
15048 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
15049 ndr->depth++;
15050 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15051 ndr->depth++;
15052 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15053 ndr->depth--;
15054 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
15055 ndr_print_ptr(ndr, "req", r->in.req);
15056 ndr->depth++;
15057 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15058 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
15059 ndr->depth--;
15060 ndr->depth--;
15062 if (flags & NDR_OUT) {
15063 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
15064 ndr->depth++;
15065 ndr_print_ptr(ndr, "info_type", r->out.info_type);
15066 ndr->depth++;
15067 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
15068 ndr->depth--;
15069 ndr_print_ptr(ndr, "info", r->out.info);
15070 ndr->depth++;
15071 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
15072 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
15073 ndr->depth--;
15074 ndr_print_WERROR(ndr, "result", r->out.result);
15075 ndr->depth--;
15077 ndr->depth--;
15080 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15082 if (flags & NDR_IN) {
15084 if (flags & NDR_OUT) {
15085 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15087 return NDR_ERR_SUCCESS;
15090 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
15092 if (flags & NDR_IN) {
15094 if (flags & NDR_OUT) {
15095 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15097 return NDR_ERR_SUCCESS;
15100 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15102 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
15103 ndr->depth++;
15104 if (flags & NDR_SET_VALUES) {
15105 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15107 if (flags & NDR_IN) {
15108 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
15109 ndr->depth++;
15110 ndr->depth--;
15112 if (flags & NDR_OUT) {
15113 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
15114 ndr->depth++;
15115 ndr_print_WERROR(ndr, "result", r->out.result);
15116 ndr->depth--;
15118 ndr->depth--;
15121 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
15123 if (flags & NDR_IN) {
15124 if (r->in.bind_handle == NULL) {
15125 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15127 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15128 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15129 if (r->in.req == NULL) {
15130 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15132 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15133 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15135 if (flags & NDR_OUT) {
15136 if (r->out.level_out == NULL) {
15137 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15139 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15140 if (r->out.ctr == NULL) {
15141 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15143 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15144 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15145 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15147 return NDR_ERR_SUCCESS;
15150 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
15152 TALLOC_CTX *_mem_save_bind_handle_0;
15153 TALLOC_CTX *_mem_save_req_0;
15154 TALLOC_CTX *_mem_save_level_out_0;
15155 TALLOC_CTX *_mem_save_ctr_0;
15156 if (flags & NDR_IN) {
15157 ZERO_STRUCT(r->out);
15159 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15160 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15162 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15163 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15164 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15165 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15166 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15167 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15168 NDR_PULL_ALLOC(ndr, r->in.req);
15170 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15171 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15172 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15173 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15174 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15175 NDR_PULL_ALLOC(ndr, r->out.level_out);
15176 ZERO_STRUCTP(r->out.level_out);
15177 NDR_PULL_ALLOC(ndr, r->out.ctr);
15178 ZERO_STRUCTP(r->out.ctr);
15180 if (flags & NDR_OUT) {
15181 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15182 NDR_PULL_ALLOC(ndr, r->out.level_out);
15184 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15185 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15186 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15187 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15188 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15189 NDR_PULL_ALLOC(ndr, r->out.ctr);
15191 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15192 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15193 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15194 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15195 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15196 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15198 return NDR_ERR_SUCCESS;
15201 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
15203 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
15204 ndr->depth++;
15205 if (flags & NDR_SET_VALUES) {
15206 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15208 if (flags & NDR_IN) {
15209 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
15210 ndr->depth++;
15211 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15212 ndr->depth++;
15213 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15214 ndr->depth--;
15215 ndr_print_int32(ndr, "level", r->in.level);
15216 ndr_print_ptr(ndr, "req", r->in.req);
15217 ndr->depth++;
15218 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15219 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
15220 ndr->depth--;
15221 ndr->depth--;
15223 if (flags & NDR_OUT) {
15224 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
15225 ndr->depth++;
15226 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15227 ndr->depth++;
15228 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15229 ndr->depth--;
15230 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15231 ndr->depth++;
15232 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15233 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
15234 ndr->depth--;
15235 ndr_print_WERROR(ndr, "result", r->out.result);
15236 ndr->depth--;
15238 ndr->depth--;
15241 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15243 if (flags & NDR_IN) {
15245 if (flags & NDR_OUT) {
15246 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15248 return NDR_ERR_SUCCESS;
15251 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15253 if (flags & NDR_IN) {
15255 if (flags & NDR_OUT) {
15256 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15258 return NDR_ERR_SUCCESS;
15261 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15263 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15264 ndr->depth++;
15265 if (flags & NDR_SET_VALUES) {
15266 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15268 if (flags & NDR_IN) {
15269 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15270 ndr->depth++;
15271 ndr->depth--;
15273 if (flags & NDR_OUT) {
15274 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15275 ndr->depth++;
15276 ndr_print_WERROR(ndr, "result", r->out.result);
15277 ndr->depth--;
15279 ndr->depth--;
15282 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15284 if (flags & NDR_IN) {
15286 if (flags & NDR_OUT) {
15287 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15289 return NDR_ERR_SUCCESS;
15292 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15294 if (flags & NDR_IN) {
15296 if (flags & NDR_OUT) {
15297 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15299 return NDR_ERR_SUCCESS;
15302 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15304 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
15305 ndr->depth++;
15306 if (flags & NDR_SET_VALUES) {
15307 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15309 if (flags & NDR_IN) {
15310 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15311 ndr->depth++;
15312 ndr->depth--;
15314 if (flags & NDR_OUT) {
15315 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15316 ndr->depth++;
15317 ndr_print_WERROR(ndr, "result", r->out.result);
15318 ndr->depth--;
15320 ndr->depth--;
15323 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
15325 if (flags & NDR_IN) {
15326 if (r->in.bind_handle == NULL) {
15327 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15329 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15330 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15331 if (r->in.req == NULL) {
15332 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15334 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15335 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15337 if (flags & NDR_OUT) {
15338 if (r->out.level_out == NULL) {
15339 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15341 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15342 if (r->out.ctr == NULL) {
15343 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15345 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15346 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15347 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15349 return NDR_ERR_SUCCESS;
15352 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
15354 TALLOC_CTX *_mem_save_bind_handle_0;
15355 TALLOC_CTX *_mem_save_req_0;
15356 TALLOC_CTX *_mem_save_level_out_0;
15357 TALLOC_CTX *_mem_save_ctr_0;
15358 if (flags & NDR_IN) {
15359 ZERO_STRUCT(r->out);
15361 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15362 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15364 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15365 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15366 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15367 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15368 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15369 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15370 NDR_PULL_ALLOC(ndr, r->in.req);
15372 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15373 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15374 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15375 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15376 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15377 NDR_PULL_ALLOC(ndr, r->out.level_out);
15378 ZERO_STRUCTP(r->out.level_out);
15379 NDR_PULL_ALLOC(ndr, r->out.ctr);
15380 ZERO_STRUCTP(r->out.ctr);
15382 if (flags & NDR_OUT) {
15383 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15384 NDR_PULL_ALLOC(ndr, r->out.level_out);
15386 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15387 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15388 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15389 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15390 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15391 NDR_PULL_ALLOC(ndr, r->out.ctr);
15393 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15394 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15395 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15396 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15397 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15398 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15400 return NDR_ERR_SUCCESS;
15403 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
15405 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
15406 ndr->depth++;
15407 if (flags & NDR_SET_VALUES) {
15408 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15410 if (flags & NDR_IN) {
15411 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
15412 ndr->depth++;
15413 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15414 ndr->depth++;
15415 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15416 ndr->depth--;
15417 ndr_print_int32(ndr, "level", r->in.level);
15418 ndr_print_ptr(ndr, "req", r->in.req);
15419 ndr->depth++;
15420 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15421 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
15422 ndr->depth--;
15423 ndr->depth--;
15425 if (flags & NDR_OUT) {
15426 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
15427 ndr->depth++;
15428 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15429 ndr->depth++;
15430 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15431 ndr->depth--;
15432 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15433 ndr->depth++;
15434 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15435 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
15436 ndr->depth--;
15437 ndr_print_WERROR(ndr, "result", r->out.result);
15438 ndr->depth--;
15440 ndr->depth--;
15443 static const struct ndr_interface_call drsuapi_calls[] = {
15445 "drsuapi_DsBind",
15446 sizeof(struct drsuapi_DsBind),
15447 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
15448 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
15449 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
15450 false,
15453 "drsuapi_DsUnbind",
15454 sizeof(struct drsuapi_DsUnbind),
15455 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
15456 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
15457 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
15458 false,
15461 "drsuapi_DsReplicaSync",
15462 sizeof(struct drsuapi_DsReplicaSync),
15463 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
15464 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
15465 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
15466 false,
15469 "drsuapi_DsGetNCChanges",
15470 sizeof(struct drsuapi_DsGetNCChanges),
15471 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
15472 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
15473 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
15474 false,
15477 "drsuapi_DsReplicaUpdateRefs",
15478 sizeof(struct drsuapi_DsReplicaUpdateRefs),
15479 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
15480 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
15481 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
15482 false,
15485 "drsuapi_DsReplicaAdd",
15486 sizeof(struct drsuapi_DsReplicaAdd),
15487 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
15488 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
15489 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
15490 false,
15493 "drsuapi_DsReplicaDel",
15494 sizeof(struct drsuapi_DsReplicaDel),
15495 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
15496 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
15497 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
15498 false,
15501 "drsuapi_DsReplicaMod",
15502 sizeof(struct drsuapi_DsReplicaMod),
15503 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
15504 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
15505 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
15506 false,
15509 "DRSUAPI_VERIFY_NAMES",
15510 sizeof(struct DRSUAPI_VERIFY_NAMES),
15511 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
15512 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
15513 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
15514 false,
15517 "drsuapi_DsGetMemberships",
15518 sizeof(struct drsuapi_DsGetMemberships),
15519 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
15520 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
15521 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
15522 false,
15525 "DRSUAPI_INTER_DOMAIN_MOVE",
15526 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
15527 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
15528 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
15529 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
15530 false,
15533 "drsuapi_DsGetNT4ChangeLog",
15534 sizeof(struct drsuapi_DsGetNT4ChangeLog),
15535 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
15536 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
15537 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
15538 false,
15541 "drsuapi_DsCrackNames",
15542 sizeof(struct drsuapi_DsCrackNames),
15543 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
15544 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
15545 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
15546 false,
15549 "drsuapi_DsWriteAccountSpn",
15550 sizeof(struct drsuapi_DsWriteAccountSpn),
15551 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
15552 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
15553 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
15554 false,
15557 "drsuapi_DsRemoveDSServer",
15558 sizeof(struct drsuapi_DsRemoveDSServer),
15559 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
15560 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
15561 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
15562 false,
15565 "DRSUAPI_REMOVE_DS_DOMAIN",
15566 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
15567 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
15568 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
15569 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
15570 false,
15573 "drsuapi_DsGetDomainControllerInfo",
15574 sizeof(struct drsuapi_DsGetDomainControllerInfo),
15575 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
15576 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
15577 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
15578 false,
15581 "drsuapi_DsAddEntry",
15582 sizeof(struct drsuapi_DsAddEntry),
15583 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
15584 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
15585 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
15586 false,
15589 "drsuapi_DsExecuteKCC",
15590 sizeof(struct drsuapi_DsExecuteKCC),
15591 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
15592 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
15593 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
15594 false,
15597 "drsuapi_DsReplicaGetInfo",
15598 sizeof(struct drsuapi_DsReplicaGetInfo),
15599 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
15600 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
15601 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
15602 false,
15605 "DRSUAPI_ADD_SID_HISTORY",
15606 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
15607 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
15608 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
15609 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
15610 false,
15613 "drsuapi_DsGetMemberships2",
15614 sizeof(struct drsuapi_DsGetMemberships2),
15615 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
15616 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
15617 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
15618 false,
15621 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15622 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
15623 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15624 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15625 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15626 false,
15629 "DRSUAPI_GET_OBJECT_EXISTENCE",
15630 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
15631 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
15632 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
15633 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
15634 false,
15637 "drsuapi_QuerySitesByCost",
15638 sizeof(struct drsuapi_QuerySitesByCost),
15639 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
15640 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
15641 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
15642 false,
15644 { NULL, 0, NULL, NULL, NULL, false }
15647 static const char * const drsuapi_endpoint_strings[] = {
15648 "ncacn_np:[\\pipe\\lsass]",
15649 "ncacn_np:[\\pipe\\protected_storage]",
15650 "ncacn_ip_tcp:",
15651 "ncalrpc:",
15654 static const struct ndr_interface_string_array drsuapi_endpoints = {
15655 .count = 4,
15656 .names = drsuapi_endpoint_strings
15659 static const char * const drsuapi_authservice_strings[] = {
15660 "ldap",
15663 static const struct ndr_interface_string_array drsuapi_authservices = {
15664 .count = 1,
15665 .names = drsuapi_authservice_strings
15669 const struct ndr_interface_table ndr_table_drsuapi = {
15670 .name = "drsuapi",
15671 .syntax_id = {
15672 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15673 NDR_DRSUAPI_VERSION
15675 .helpstring = NDR_DRSUAPI_HELPSTRING,
15676 .num_calls = 25,
15677 .calls = drsuapi_calls,
15678 .endpoints = &drsuapi_endpoints,
15679 .authservices = &drsuapi_authservices