1 /* parser auto-generated by pidl */
4 #include "bin/default/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_lsa.h"
9 #include "librpc/gen_ndr/ndr_samr.h"
10 #include "librpc/ndr/ndr_compression.h"
11 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
13 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
14 return NDR_ERR_SUCCESS;
17 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
20 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
22 return NDR_ERR_SUCCESS;
25 _PUBLIC_ void ndr_print_drsuapi_DrsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
27 ndr_print_uint32(ndr, name, r);
29 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_OP", DRSUAPI_DRS_ASYNC_OP, r);
30 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GETCHG_CHECK", DRSUAPI_DRS_GETCHG_CHECK, r);
31 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_NOTIFICATION", DRSUAPI_DRS_UPDATE_NOTIFICATION, r);
32 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF, r);
33 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL, r);
34 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF, r);
35 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP, r);
36 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC, r);
37 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC, r);
38 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP, r);
39 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP, r);
40 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR, r);
41 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC, r);
42 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY, r);
43 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC, r);
44 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE, r);
45 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY, r);
46 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NONGC_RO_REP", DRSUAPI_DRS_NONGC_RO_REP, r);
47 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_BYNAME", DRSUAPI_DRS_SYNC_BYNAME, r);
48 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK, r);
49 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW, r);
50 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE, r);
51 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS", DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS, r);
52 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET, r);
53 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_REQUEUE", DRSUAPI_DRS_SYNC_REQUEUE, r);
54 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_URGENT", DRSUAPI_DRS_SYNC_URGENT, r);
55 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN, r);
56 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_DISCARD", DRSUAPI_DRS_NO_DISCARD, r);
57 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_SYNCED", DRSUAPI_DRS_NEVER_SYNCED, r);
58 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING, r);
59 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC_NOW", DRSUAPI_DRS_INIT_SYNC_NOW, r);
60 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PREEMPTED", DRSUAPI_DRS_PREEMPTED, r);
61 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED, r);
62 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC, r);
63 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC, r);
64 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_USE_COMPRESSION", DRSUAPI_DRS_USE_COMPRESSION, r);
65 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_NOTIFY", DRSUAPI_DRS_NEVER_NOTIFY, r);
66 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_PAS", DRSUAPI_DRS_SYNC_PAS, r);
67 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP", DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP, r);
71 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsUpdate(struct ndr_push *ndr, int ndr_flags, uint32_t r)
73 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
74 return NDR_ERR_SUCCESS;
77 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsUpdate(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
80 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
82 return NDR_ERR_SUCCESS;
85 _PUBLIC_ void ndr_print_drsuapi_DrsUpdate(struct ndr_print *ndr, const char *name, uint32_t r)
87 ndr_print_uint32(ndr, name, r);
89 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_FLAGS", DRSUAPI_DRS_UPDATE_FLAGS, r);
90 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_ADDRESS", DRSUAPI_DRS_UPDATE_ADDRESS, r);
91 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_SCHEDULE", DRSUAPI_DRS_UPDATE_SCHEDULE, r);
95 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
97 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
98 return NDR_ERR_SUCCESS;
101 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
104 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
106 return NDR_ERR_SUCCESS;
109 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensions(struct ndr_print *ndr, const char *name, uint32_t r)
111 ndr_print_uint32(ndr, name, r);
113 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE, r);
114 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION, r);
115 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI, r);
116 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2, r);
117 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS, r);
118 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1, r);
119 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION, r);
120 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY, r);
121 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE, r);
122 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2, r);
123 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION, r);
124 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2, r);
125 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);
126 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND, r);
127 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO, r);
128 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION, r);
129 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01, r);
130 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP, r);
131 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY, r);
132 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3, r);
133 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5, r);
134 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2, r);
135 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6, r);
136 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS, r);
137 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8, r);
138 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5, r);
139 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6, r);
140 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3, r);
141 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7, r);
142 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT, r);
143 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS, r);
144 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10, r);
145 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2, r);
146 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3, r);
150 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push *ndr, int ndr_flags, uint32_t r)
152 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
153 return NDR_ERR_SUCCESS;
156 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
159 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
161 return NDR_ERR_SUCCESS;
164 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print *ndr, const char *name, uint32_t r)
166 ndr_print_uint32(ndr, name, r);
168 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM, r);
169 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2, r);
170 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN", DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN, r);
174 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo24(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo24 *r)
176 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
177 if (ndr_flags & NDR_SCALARS) {
178 NDR_CHECK(ndr_push_align(ndr, 4));
179 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
180 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
182 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
184 if (ndr_flags & NDR_BUFFERS) {
186 return NDR_ERR_SUCCESS;
189 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo24 *r)
191 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
192 if (ndr_flags & NDR_SCALARS) {
193 NDR_CHECK(ndr_pull_align(ndr, 4));
194 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
195 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
196 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
197 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
199 if (ndr_flags & NDR_BUFFERS) {
201 return NDR_ERR_SUCCESS;
204 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo24 *r)
206 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo24");
207 if (r == NULL) { ndr_print_null(ndr); return; }
209 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
210 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
211 ndr_print_uint32(ndr, "pid", r->pid);
215 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo28(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo28 *r)
217 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
218 if (ndr_flags & NDR_SCALARS) {
219 NDR_CHECK(ndr_push_align(ndr, 4));
220 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
221 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
222 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
223 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
224 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
226 if (ndr_flags & NDR_BUFFERS) {
228 return NDR_ERR_SUCCESS;
231 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo28 *r)
233 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
234 if (ndr_flags & NDR_SCALARS) {
235 NDR_CHECK(ndr_pull_align(ndr, 4));
236 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
237 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
239 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
240 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
242 if (ndr_flags & NDR_BUFFERS) {
244 return NDR_ERR_SUCCESS;
247 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo28 *r)
249 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo28");
250 if (r == NULL) { ndr_print_null(ndr); return; }
252 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
253 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
254 ndr_print_uint32(ndr, "pid", r->pid);
255 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
259 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo48(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo48 *r)
261 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
262 if (ndr_flags & NDR_SCALARS) {
263 NDR_CHECK(ndr_push_align(ndr, 4));
264 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
265 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
266 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
268 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
269 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
270 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
272 if (ndr_flags & NDR_BUFFERS) {
274 return NDR_ERR_SUCCESS;
277 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo48 *r)
279 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
280 if (ndr_flags & NDR_SCALARS) {
281 NDR_CHECK(ndr_pull_align(ndr, 4));
282 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
283 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
284 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
285 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
286 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
287 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
288 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
290 if (ndr_flags & NDR_BUFFERS) {
292 return NDR_ERR_SUCCESS;
295 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo48 *r)
297 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo48");
298 if (r == NULL) { ndr_print_null(ndr); return; }
300 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
301 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
302 ndr_print_uint32(ndr, "pid", r->pid);
303 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
304 ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
305 ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid);
309 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoFallBack *r)
311 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
312 if (ndr_flags & NDR_SCALARS) {
313 NDR_CHECK(ndr_push_align(ndr, 4));
315 uint32_t _flags_save_DATA_BLOB = ndr->flags;
316 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
317 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->info));
318 ndr->flags = _flags_save_DATA_BLOB;
320 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
322 if (ndr_flags & NDR_BUFFERS) {
324 return NDR_ERR_SUCCESS;
327 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoFallBack *r)
329 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
330 if (ndr_flags & NDR_SCALARS) {
331 NDR_CHECK(ndr_pull_align(ndr, 4));
333 uint32_t _flags_save_DATA_BLOB = ndr->flags;
334 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
335 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->info));
336 ndr->flags = _flags_save_DATA_BLOB;
338 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
340 if (ndr_flags & NDR_BUFFERS) {
342 return NDR_ERR_SUCCESS;
345 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoFallBack *r)
347 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoFallBack");
348 if (r == NULL) { ndr_print_null(ndr); return; }
350 ndr_print_DATA_BLOB(ndr, "info", r->info);
354 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsBindInfo *r)
356 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
357 if (ndr_flags & NDR_SCALARS) {
358 uint32_t level = ndr_push_get_switch_value(ndr, r);
359 NDR_CHECK(ndr_push_union_align(ndr, 1));
363 struct ndr_push *_ndr_info24;
364 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info24, 4, -1));
365 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
366 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info24, 4, -1));
372 struct ndr_push *_ndr_info28;
373 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info28, 4, -1));
374 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
375 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info28, 4, -1));
381 struct ndr_push *_ndr_info48;
382 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info48, 4, -1));
383 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
384 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info48, 4, -1));
390 struct ndr_push *_ndr_FallBack;
391 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
392 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
393 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_FallBack, 4, -1));
399 if (ndr_flags & NDR_BUFFERS) {
400 uint32_t level = ndr_push_get_switch_value(ndr, r);
416 return NDR_ERR_SUCCESS;
419 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsBindInfo *r)
422 level = ndr_pull_get_switch_value(ndr, r);
423 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
424 if (ndr_flags & NDR_SCALARS) {
425 NDR_CHECK(ndr_pull_union_align(ndr, 1));
429 struct ndr_pull *_ndr_info24;
430 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info24, 4, -1));
431 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
432 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info24, 4, -1));
438 struct ndr_pull *_ndr_info28;
439 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info28, 4, -1));
440 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
441 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info28, 4, -1));
447 struct ndr_pull *_ndr_info48;
448 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info48, 4, -1));
449 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
450 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info48, 4, -1));
456 struct ndr_pull *_ndr_FallBack;
457 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
458 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
459 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_FallBack, 4, -1));
465 if (ndr_flags & NDR_BUFFERS) {
481 return NDR_ERR_SUCCESS;
484 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsBindInfo *r)
487 level = ndr_print_get_switch_value(ndr, r);
488 ndr_print_union(ndr, name, level, "drsuapi_DsBindInfo");
491 ndr_print_drsuapi_DsBindInfo24(ndr, "info24", &r->info24);
495 ndr_print_drsuapi_DsBindInfo28(ndr, "info28", &r->info28);
499 ndr_print_drsuapi_DsBindInfo48(ndr, "info48", &r->info48);
503 ndr_print_drsuapi_DsBindInfoFallBack(ndr, "FallBack", &r->FallBack);
509 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoCtr *r)
511 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
512 if (ndr_flags & NDR_SCALARS) {
513 NDR_CHECK(ndr_push_align(ndr, 4));
514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
515 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->length));
516 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
517 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
519 if (ndr_flags & NDR_BUFFERS) {
521 return NDR_ERR_SUCCESS;
524 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoCtr *r)
526 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
527 if (ndr_flags & NDR_SCALARS) {
528 NDR_CHECK(ndr_pull_align(ndr, 4));
529 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
530 if (r->length < 1 || r->length > 10000) {
531 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
533 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->length));
534 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
535 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
537 if (ndr_flags & NDR_BUFFERS) {
539 return NDR_ERR_SUCCESS;
542 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoCtr *r)
544 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoCtr");
545 if (r == NULL) { ndr_print_null(ndr); return; }
547 ndr_print_uint32(ndr, "length", r->length);
548 ndr_print_set_switch_value(ndr, &r->info, r->length);
549 ndr_print_drsuapi_DsBindInfo(ndr, "info", &r->info);
553 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier *r)
555 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
556 if (ndr_flags & NDR_SCALARS) {
557 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->dn) + 1));
558 NDR_CHECK(ndr_push_align(ndr, 4));
559 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->flags) - 4));
560 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
561 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
562 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
563 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
564 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
565 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
567 if (ndr_flags & NDR_BUFFERS) {
568 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
570 return NDR_ERR_SUCCESS;
573 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier *r)
575 uint32_t size_dn_0 = 0;
576 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
577 if (ndr_flags & NDR_SCALARS) {
578 NDR_CHECK(ndr_pull_array_size(ndr, &r->dn));
579 NDR_CHECK(ndr_pull_align(ndr, 4));
580 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
581 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
582 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
583 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
584 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
585 size_dn_0 = ndr_get_array_size(ndr, &r->dn);
586 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, size_dn_0, sizeof(uint16_t), CH_UTF16));
588 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->dn, r->__ndr_size_dn + 1));
590 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
592 if (ndr_flags & NDR_BUFFERS) {
593 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
595 return NDR_ERR_SUCCESS;
598 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier *r)
600 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier");
601 if (r == NULL) { ndr_print_null(ndr); return; }
603 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->flags) - 4:r->__ndr_size);
604 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);
605 ndr_print_GUID(ndr, "guid", &r->guid);
606 ndr_print_dom_sid28(ndr, "sid", &r->sid);
607 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
608 ndr_print_string(ndr, "dn", r->dn);
612 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier *r, int flags)
614 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier);
617 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r)
619 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
620 if (ndr_flags & NDR_SCALARS) {
621 NDR_CHECK(ndr_push_align(ndr, 5));
622 if (r->naming_context == NULL) {
623 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
625 NDR_CHECK(ndr_push_ref_ptr(ndr));
626 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
627 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dns));
628 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
629 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
631 if (ndr_flags & NDR_BUFFERS) {
632 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
633 if (r->source_dsa_dns) {
634 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_dns, CH_DOS)));
635 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
636 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_dns, CH_DOS)));
637 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_dns, ndr_charset_length(r->source_dsa_dns, CH_DOS), sizeof(uint8_t), CH_DOS));
640 return NDR_ERR_SUCCESS;
643 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r)
645 uint32_t _ptr_naming_context;
646 TALLOC_CTX *_mem_save_naming_context_0;
647 uint32_t _ptr_source_dsa_dns;
648 uint32_t size_source_dsa_dns_1 = 0;
649 uint32_t length_source_dsa_dns_1 = 0;
650 TALLOC_CTX *_mem_save_source_dsa_dns_0;
651 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
652 if (ndr_flags & NDR_SCALARS) {
653 NDR_CHECK(ndr_pull_align(ndr, 5));
654 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
655 if (_ptr_naming_context) {
656 NDR_PULL_ALLOC(ndr, r->naming_context);
658 r->naming_context = NULL;
660 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
661 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dns));
662 if (_ptr_source_dsa_dns) {
663 NDR_PULL_ALLOC(ndr, r->source_dsa_dns);
665 r->source_dsa_dns = NULL;
667 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
668 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
670 if (ndr_flags & NDR_BUFFERS) {
671 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
672 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
673 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
674 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
675 if (r->source_dsa_dns) {
676 _mem_save_source_dsa_dns_0 = NDR_PULL_GET_MEM_CTX(ndr);
677 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dns, 0);
678 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_dns));
679 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_dns));
680 size_source_dsa_dns_1 = ndr_get_array_size(ndr, &r->source_dsa_dns);
681 length_source_dsa_dns_1 = ndr_get_array_length(ndr, &r->source_dsa_dns);
682 if (length_source_dsa_dns_1 > size_source_dsa_dns_1) {
683 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_dns_1, length_source_dsa_dns_1);
685 NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_dns_1, sizeof(uint8_t)));
686 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_dns, length_source_dsa_dns_1, sizeof(uint8_t), CH_DOS));
687 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dns_0, 0);
690 return NDR_ERR_SUCCESS;
693 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r)
695 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1");
696 if (r == NULL) { ndr_print_null(ndr); return; }
698 ndr_print_ptr(ndr, "naming_context", r->naming_context);
700 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
702 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
703 ndr_print_ptr(ndr, "source_dsa_dns", r->source_dsa_dns);
705 if (r->source_dsa_dns) {
706 ndr_print_string(ndr, "source_dsa_dns", r->source_dsa_dns);
709 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
713 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r)
715 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
716 if (ndr_flags & NDR_SCALARS) {
717 uint32_t level = ndr_push_get_switch_value(ndr, r);
718 NDR_CHECK(ndr_push_union_align(ndr, 5));
719 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
720 NDR_CHECK(ndr_push_union_align(ndr, 5));
723 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
727 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
730 if (ndr_flags & NDR_BUFFERS) {
731 uint32_t level = ndr_push_get_switch_value(ndr, r);
734 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
738 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
741 return NDR_ERR_SUCCESS;
744 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
748 level = ndr_pull_get_switch_value(ndr, r);
749 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
750 if (ndr_flags & NDR_SCALARS) {
751 NDR_CHECK(ndr_pull_union_align(ndr, 5));
752 NDR_CHECK(ndr_pull_uint32(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));
759 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
763 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
766 if (ndr_flags & NDR_BUFFERS) {
769 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
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)
782 level = ndr_print_get_switch_value(ndr, r);
783 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
786 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
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 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
797 if (ndr_flags & NDR_SCALARS) {
798 NDR_CHECK(ndr_push_align(ndr, 8));
799 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
800 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn));
801 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
802 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
804 if (ndr_flags & NDR_BUFFERS) {
806 return NDR_ERR_SUCCESS;
809 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r)
811 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
812 if (ndr_flags & NDR_SCALARS) {
813 NDR_CHECK(ndr_pull_align(ndr, 8));
814 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
815 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn));
816 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
817 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
819 if (ndr_flags & NDR_BUFFERS) {
821 return NDR_ERR_SUCCESS;
824 _PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r)
826 ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark");
827 if (r == NULL) { ndr_print_null(ndr); return; }
829 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
830 ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn);
831 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
835 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r)
837 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
838 if (ndr_flags & NDR_SCALARS) {
839 NDR_CHECK(ndr_push_align(ndr, 8));
840 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
841 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
842 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
844 if (ndr_flags & NDR_BUFFERS) {
846 return NDR_ERR_SUCCESS;
849 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r)
851 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
852 if (ndr_flags & NDR_SCALARS) {
853 NDR_CHECK(ndr_pull_align(ndr, 8));
854 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
855 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
856 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
858 if (ndr_flags & NDR_BUFFERS) {
860 return NDR_ERR_SUCCESS;
863 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r)
865 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor");
866 if (r == NULL) { ndr_print_null(ndr); return; }
868 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
869 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
873 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r)
875 uint32_t cntr_cursors_0;
876 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
877 if (ndr_flags & NDR_SCALARS) {
878 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
879 NDR_CHECK(ndr_push_align(ndr, 8));
880 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
881 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
882 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
883 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
884 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
885 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
887 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
889 if (ndr_flags & NDR_BUFFERS) {
891 return NDR_ERR_SUCCESS;
894 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r)
896 uint32_t size_cursors_0 = 0;
897 uint32_t cntr_cursors_0;
898 TALLOC_CTX *_mem_save_cursors_0;
899 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
900 if (ndr_flags & NDR_SCALARS) {
901 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
902 NDR_CHECK(ndr_pull_align(ndr, 8));
903 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
904 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
905 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
906 if (r->count > 0x100000) {
907 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
909 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
910 size_cursors_0 = ndr_get_array_size(ndr, &r->cursors);
911 NDR_PULL_ALLOC_N(ndr, r->cursors, size_cursors_0);
912 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
913 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
914 for (cntr_cursors_0 = 0; cntr_cursors_0 < size_cursors_0; cntr_cursors_0++) {
915 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
919 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
921 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
923 if (ndr_flags & NDR_BUFFERS) {
925 return NDR_ERR_SUCCESS;
928 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r)
930 uint32_t cntr_cursors_0;
931 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx");
932 if (r == NULL) { ndr_print_null(ndr); return; }
934 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
935 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
936 ndr_print_uint32(ndr, "count", r->count);
937 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
938 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
940 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
941 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
947 static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r)
950 uint32_t _flags_save_ENUM = ndr->flags;
951 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
952 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
953 ndr->flags = _flags_save_ENUM;
955 return NDR_ERR_SUCCESS;
958 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r)
962 uint32_t _flags_save_ENUM = ndr->flags;
963 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
964 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
966 ndr->flags = _flags_save_ENUM;
968 return NDR_ERR_SUCCESS;
971 _PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r)
973 const char *val = NULL;
976 uint32_t _flags_save_ENUM = ndr->flags;
977 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
979 case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break;
980 case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
981 case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
982 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
983 case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
984 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
985 case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break;
986 case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break;
988 ndr_print_enum(ndr, name, "ENUM", val, r);
989 ndr->flags = _flags_save_ENUM;
993 static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r)
996 uint32_t _flags_save_ENUM = ndr->flags;
997 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
998 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
999 ndr->flags = _flags_save_ENUM;
1001 return NDR_ERR_SUCCESS;
1004 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r)
1008 uint32_t _flags_save_ENUM = ndr->flags;
1009 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1010 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1012 ndr->flags = _flags_save_ENUM;
1014 return NDR_ERR_SUCCESS;
1017 _PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r)
1019 const char *val = NULL;
1022 uint32_t _flags_save_ENUM = ndr->flags;
1023 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1025 case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break;
1026 case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break;
1027 case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
1028 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
1029 case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
1030 case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
1031 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
1032 case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
1033 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
1034 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
1035 case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break;
1036 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
1037 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
1038 case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
1039 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
1040 case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
1041 case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
1043 ndr_print_enum(ndr, name, "ENUM", val, r);
1044 ndr->flags = _flags_save_ENUM;
1048 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r)
1050 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1051 if (ndr_flags & NDR_SCALARS) {
1052 NDR_CHECK(ndr_push_align(ndr, 8));
1053 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1054 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1055 if (r->naming_context == NULL) {
1056 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1058 NDR_CHECK(ndr_push_ref_ptr(ndr));
1059 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1060 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1061 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1062 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1063 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1064 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1065 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1066 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1068 if (ndr_flags & NDR_BUFFERS) {
1069 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1070 if (r->uptodateness_vector) {
1071 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1074 return NDR_ERR_SUCCESS;
1077 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r)
1079 uint32_t _ptr_naming_context;
1080 TALLOC_CTX *_mem_save_naming_context_0;
1081 uint32_t _ptr_uptodateness_vector;
1082 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1083 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1084 if (ndr_flags & NDR_SCALARS) {
1085 NDR_CHECK(ndr_pull_align(ndr, 8));
1086 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1087 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1088 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1089 if (_ptr_naming_context) {
1090 NDR_PULL_ALLOC(ndr, r->naming_context);
1092 r->naming_context = NULL;
1094 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1095 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1096 if (_ptr_uptodateness_vector) {
1097 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1099 r->uptodateness_vector = NULL;
1101 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1102 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1103 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1104 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1105 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1106 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1108 if (ndr_flags & NDR_BUFFERS) {
1109 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1110 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1111 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1112 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1113 if (r->uptodateness_vector) {
1114 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1115 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1116 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1117 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1120 return NDR_ERR_SUCCESS;
1123 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r)
1125 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5");
1126 if (r == NULL) { ndr_print_null(ndr); return; }
1128 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1129 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1130 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1132 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1134 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1135 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1137 if (r->uptodateness_vector) {
1138 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1141 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1142 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1143 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1144 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1145 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1149 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOID(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOID *r)
1151 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1152 if (ndr_flags & NDR_SCALARS) {
1153 NDR_CHECK(ndr_push_align(ndr, 5));
1154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1155 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary_oid));
1156 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1158 if (ndr_flags & NDR_BUFFERS) {
1159 if (r->binary_oid) {
1160 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
1161 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
1164 return NDR_ERR_SUCCESS;
1167 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOID *r)
1169 uint32_t _ptr_binary_oid;
1170 uint32_t size_binary_oid_1 = 0;
1171 TALLOC_CTX *_mem_save_binary_oid_0;
1172 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1173 if (ndr_flags & NDR_SCALARS) {
1174 NDR_CHECK(ndr_pull_align(ndr, 5));
1175 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1176 if (r->length > 10000) {
1177 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1179 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_oid));
1180 if (_ptr_binary_oid) {
1181 NDR_PULL_ALLOC(ndr, r->binary_oid);
1183 r->binary_oid = NULL;
1185 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1187 if (ndr_flags & NDR_BUFFERS) {
1188 if (r->binary_oid) {
1189 _mem_save_binary_oid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1190 NDR_PULL_SET_MEM_CTX(ndr, r->binary_oid, 0);
1191 NDR_CHECK(ndr_pull_array_size(ndr, &r->binary_oid));
1192 size_binary_oid_1 = ndr_get_array_size(ndr, &r->binary_oid);
1193 NDR_PULL_ALLOC_N(ndr, r->binary_oid, size_binary_oid_1);
1194 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, size_binary_oid_1));
1195 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_oid_0, 0);
1197 if (r->binary_oid) {
1198 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->binary_oid, r->length));
1201 return NDR_ERR_SUCCESS;
1204 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
1206 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1207 if (ndr_flags & NDR_SCALARS) {
1208 NDR_CHECK(ndr_push_align(ndr, 5));
1209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
1210 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1211 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1213 if (ndr_flags & NDR_BUFFERS) {
1214 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1216 return NDR_ERR_SUCCESS;
1219 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
1221 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1222 if (ndr_flags & NDR_SCALARS) {
1223 NDR_CHECK(ndr_pull_align(ndr, 5));
1224 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
1225 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1226 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1228 if (ndr_flags & NDR_BUFFERS) {
1229 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1231 return NDR_ERR_SUCCESS;
1234 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
1236 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
1237 if (r == NULL) { ndr_print_null(ndr); return; }
1239 ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1240 ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
1244 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1246 uint32_t cntr_mappings_1;
1247 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1248 if (ndr_flags & NDR_SCALARS) {
1249 NDR_CHECK(ndr_push_align(ndr, 5));
1250 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1251 NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
1252 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1254 if (ndr_flags & NDR_BUFFERS) {
1256 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_mappings));
1257 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1258 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1260 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1261 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1265 return NDR_ERR_SUCCESS;
1268 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1270 uint32_t _ptr_mappings;
1271 uint32_t size_mappings_1 = 0;
1272 uint32_t cntr_mappings_1;
1273 TALLOC_CTX *_mem_save_mappings_0;
1274 TALLOC_CTX *_mem_save_mappings_1;
1275 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1276 if (ndr_flags & NDR_SCALARS) {
1277 NDR_CHECK(ndr_pull_align(ndr, 5));
1278 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
1279 if (r->num_mappings > 0x100000) {
1280 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1282 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
1283 if (_ptr_mappings) {
1284 NDR_PULL_ALLOC(ndr, r->mappings);
1288 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1290 if (ndr_flags & NDR_BUFFERS) {
1292 _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1293 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1294 NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
1295 size_mappings_1 = ndr_get_array_size(ndr, &r->mappings);
1296 NDR_PULL_ALLOC_N(ndr, r->mappings, size_mappings_1);
1297 _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1298 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1299 for (cntr_mappings_1 = 0; cntr_mappings_1 < size_mappings_1; cntr_mappings_1++) {
1300 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1302 for (cntr_mappings_1 = 0; cntr_mappings_1 < size_mappings_1; cntr_mappings_1++) {
1303 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
1306 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
1309 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
1312 return NDR_ERR_SUCCESS;
1315 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1317 uint32_t cntr_mappings_1;
1318 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
1319 if (r == NULL) { ndr_print_null(ndr); return; }
1321 ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1322 ndr_print_ptr(ndr, "mappings", r->mappings);
1325 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1327 for (cntr_mappings_1=0;cntr_mappings_1<r->num_mappings;cntr_mappings_1++) {
1328 ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
1336 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
1339 uint32_t _flags_save_ENUM = ndr->flags;
1340 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1341 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1342 ndr->flags = _flags_save_ENUM;
1344 return NDR_ERR_SUCCESS;
1347 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
1351 uint32_t _flags_save_ENUM = ndr->flags;
1352 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1353 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1355 ndr->flags = _flags_save_ENUM;
1357 return NDR_ERR_SUCCESS;
1360 _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
1362 const char *val = NULL;
1365 uint32_t _flags_save_ENUM = ndr->flags;
1366 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1368 case DRSUAPI_ATTID_objectClass: val = "DRSUAPI_ATTID_objectClass"; break;
1369 case DRSUAPI_ATTID_cn: val = "DRSUAPI_ATTID_cn"; break;
1370 case DRSUAPI_ATTID_ou: val = "DRSUAPI_ATTID_ou"; break;
1371 case DRSUAPI_ATTID_description: val = "DRSUAPI_ATTID_description"; break;
1372 case DRSUAPI_ATTID_member: val = "DRSUAPI_ATTID_member"; break;
1373 case DRSUAPI_ATTID_instanceType: val = "DRSUAPI_ATTID_instanceType"; break;
1374 case DRSUAPI_ATTID_whenCreated: val = "DRSUAPI_ATTID_whenCreated"; break;
1375 case DRSUAPI_ATTID_possSuperiors: val = "DRSUAPI_ATTID_possSuperiors"; break;
1376 case DRSUAPI_ATTID_displayName: val = "DRSUAPI_ATTID_displayName"; break;
1377 case DRSUAPI_ATTID_hasMasterNCs: val = "DRSUAPI_ATTID_hasMasterNCs"; break;
1378 case DRSUAPI_ATTID_nCName: val = "DRSUAPI_ATTID_nCName"; break;
1379 case DRSUAPI_ATTID_subClassOf: val = "DRSUAPI_ATTID_subClassOf"; break;
1380 case DRSUAPI_ATTID_governsID: val = "DRSUAPI_ATTID_governsID"; break;
1381 case DRSUAPI_ATTID_mustContain: val = "DRSUAPI_ATTID_mustContain"; break;
1382 case DRSUAPI_ATTID_mayContain: val = "DRSUAPI_ATTID_mayContain"; break;
1383 case DRSUAPI_ATTID_rDNAttId: val = "DRSUAPI_ATTID_rDNAttId"; break;
1384 case DRSUAPI_ATTID_attributeID: val = "DRSUAPI_ATTID_attributeID"; break;
1385 case DRSUAPI_ATTID_attributeSyntax: val = "DRSUAPI_ATTID_attributeSyntax"; break;
1386 case DRSUAPI_ATTID_isSingleValued: val = "DRSUAPI_ATTID_isSingleValued"; break;
1387 case DRSUAPI_ATTID_rangeLower: val = "DRSUAPI_ATTID_rangeLower"; break;
1388 case DRSUAPI_ATTID_rangeUpper: val = "DRSUAPI_ATTID_rangeUpper"; break;
1389 case DRSUAPI_ATTID_dMDLocation: val = "DRSUAPI_ATTID_dMDLocation"; break;
1390 case DRSUAPI_ATTID_isDeleted: val = "DRSUAPI_ATTID_isDeleted"; break;
1391 case DRSUAPI_ATTID_objectVersion: val = "DRSUAPI_ATTID_objectVersion"; break;
1392 case DRSUAPI_ATTID_invocationId: val = "DRSUAPI_ATTID_invocationId"; break;
1393 case DRSUAPI_ATTID_showInAdvancedViewOnly: val = "DRSUAPI_ATTID_showInAdvancedViewOnly"; break;
1394 case DRSUAPI_ATTID_adminDisplayName: val = "DRSUAPI_ATTID_adminDisplayName"; break;
1395 case DRSUAPI_ATTID_adminDescription: val = "DRSUAPI_ATTID_adminDescription"; break;
1396 case DRSUAPI_ATTID_oMSyntax: val = "DRSUAPI_ATTID_oMSyntax"; break;
1397 case DRSUAPI_ATTID_ntSecurityDescriptor: val = "DRSUAPI_ATTID_ntSecurityDescriptor"; break;
1398 case DRSUAPI_ATTID_searchFlags: val = "DRSUAPI_ATTID_searchFlags"; break;
1399 case DRSUAPI_ATTID_auxiliaryClass: val = "DRSUAPI_ATTID_auxiliaryClass"; break;
1400 case DRSUAPI_ATTID_lDAPDisplayName: val = "DRSUAPI_ATTID_lDAPDisplayName"; break;
1401 case DRSUAPI_ATTID_name: val = "DRSUAPI_ATTID_name"; break;
1402 case DRSUAPI_ATTID_userAccountControl: val = "DRSUAPI_ATTID_userAccountControl"; break;
1403 case DRSUAPI_ATTID_badPwdCount: val = "DRSUAPI_ATTID_badPwdCount"; break;
1404 case DRSUAPI_ATTID_codePage: val = "DRSUAPI_ATTID_codePage"; break;
1405 case DRSUAPI_ATTID_countryCode: val = "DRSUAPI_ATTID_countryCode"; break;
1406 case DRSUAPI_ATTID_currentValue: val = "DRSUAPI_ATTID_currentValue"; break;
1407 case DRSUAPI_ATTID_homeDirectory: val = "DRSUAPI_ATTID_homeDirectory"; break;
1408 case DRSUAPI_ATTID_homeDrive: val = "DRSUAPI_ATTID_homeDrive"; break;
1409 case DRSUAPI_ATTID_lastLogoff: val = "DRSUAPI_ATTID_lastLogoff"; break;
1410 case DRSUAPI_ATTID_lastLogon: val = "DRSUAPI_ATTID_lastLogon"; break;
1411 case DRSUAPI_ATTID_dBCSPwd: val = "DRSUAPI_ATTID_dBCSPwd"; break;
1412 case DRSUAPI_ATTID_scriptPath: val = "DRSUAPI_ATTID_scriptPath"; break;
1413 case DRSUAPI_ATTID_logonHours: val = "DRSUAPI_ATTID_logonHours"; break;
1414 case DRSUAPI_ATTID_userWorkstations: val = "DRSUAPI_ATTID_userWorkstations"; break;
1415 case DRSUAPI_ATTID_unicodePwd: val = "DRSUAPI_ATTID_unicodePwd"; break;
1416 case DRSUAPI_ATTID_ntPwdHistory: val = "DRSUAPI_ATTID_ntPwdHistory"; break;
1417 case DRSUAPI_ATTID_pwdLastSet: val = "DRSUAPI_ATTID_pwdLastSet"; break;
1418 case DRSUAPI_ATTID_primaryGroupID: val = "DRSUAPI_ATTID_primaryGroupID"; break;
1419 case DRSUAPI_ATTID_priorValue: val = "DRSUAPI_ATTID_priorValue"; break;
1420 case DRSUAPI_ATTID_supplementalCredentials: val = "DRSUAPI_ATTID_supplementalCredentials"; break;
1421 case DRSUAPI_ATTID_trustAuthIncoming: val = "DRSUAPI_ATTID_trustAuthIncoming"; break;
1422 case DRSUAPI_ATTID_trustAuthOutgoing: val = "DRSUAPI_ATTID_trustAuthOutgoing"; break;
1423 case DRSUAPI_ATTID_userParameters: val = "DRSUAPI_ATTID_userParameters"; break;
1424 case DRSUAPI_ATTID_profilePath: val = "DRSUAPI_ATTID_profilePath"; break;
1425 case DRSUAPI_ATTID_objectSid: val = "DRSUAPI_ATTID_objectSid"; break;
1426 case DRSUAPI_ATTID_schemaIDGUID: val = "DRSUAPI_ATTID_schemaIDGUID"; break;
1427 case DRSUAPI_ATTID_comment: val = "DRSUAPI_ATTID_comment"; break;
1428 case DRSUAPI_ATTID_accountExpires: val = "DRSUAPI_ATTID_accountExpires"; break;
1429 case DRSUAPI_ATTID_lmPwdHistory: val = "DRSUAPI_ATTID_lmPwdHistory"; break;
1430 case DRSUAPI_ATTID_logonCount: val = "DRSUAPI_ATTID_logonCount"; break;
1431 case DRSUAPI_ATTID_systemPossSuperiors: val = "DRSUAPI_ATTID_systemPossSuperiors"; break;
1432 case DRSUAPI_ATTID_systemMayContain: val = "DRSUAPI_ATTID_systemMayContain"; break;
1433 case DRSUAPI_ATTID_systemMustContain: val = "DRSUAPI_ATTID_systemMustContain"; break;
1434 case DRSUAPI_ATTID_systemAuxiliaryClass: val = "DRSUAPI_ATTID_systemAuxiliaryClass"; break;
1435 case DRSUAPI_ATTID_sAMAccountName: val = "DRSUAPI_ATTID_sAMAccountName"; break;
1436 case DRSUAPI_ATTID_sAMAccountType: val = "DRSUAPI_ATTID_sAMAccountType"; break;
1437 case DRSUAPI_ATTID_options: val = "DRSUAPI_ATTID_options"; break;
1438 case DRSUAPI_ATTID_fSMORoleOwner: val = "DRSUAPI_ATTID_fSMORoleOwner"; break;
1439 case DRSUAPI_ATTID_systemFlags: val = "DRSUAPI_ATTID_systemFlags"; break;
1440 case DRSUAPI_ATTID_serverReference: val = "DRSUAPI_ATTID_serverReference"; break;
1441 case DRSUAPI_ATTID_serverReferenceBL: val = "DRSUAPI_ATTID_serverReferenceBL"; break;
1442 case DRSUAPI_ATTID_initialAuthIncoming: val = "DRSUAPI_ATTID_initialAuthIncoming"; break;
1443 case DRSUAPI_ATTID_initialAuthOutgoing: val = "DRSUAPI_ATTID_initialAuthOutgoing"; break;
1444 case DRSUAPI_ATTID_wellKnownObjects: val = "DRSUAPI_ATTID_wellKnownObjects"; break;
1445 case DRSUAPI_ATTID_dNSHostName: val = "DRSUAPI_ATTID_dNSHostName"; break;
1446 case DRSUAPI_ATTID_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTID_isMemberOfPartialAttributeSet"; break;
1447 case DRSUAPI_ATTID_userPrincipalName: val = "DRSUAPI_ATTID_userPrincipalName"; break;
1448 case DRSUAPI_ATTID_groupType: val = "DRSUAPI_ATTID_groupType"; break;
1449 case DRSUAPI_ATTID_servicePrincipalName: val = "DRSUAPI_ATTID_servicePrincipalName"; break;
1450 case DRSUAPI_ATTID_lastKnownParent: val = "DRSUAPI_ATTID_lastKnownParent"; break;
1451 case DRSUAPI_ATTID_objectCategory: val = "DRSUAPI_ATTID_objectCategory"; break;
1452 case DRSUAPI_ATTID_gPLink: val = "DRSUAPI_ATTID_gPLink"; break;
1453 case DRSUAPI_ATTID_transportAddressAttribute: val = "DRSUAPI_ATTID_transportAddressAttribute"; break;
1454 case DRSUAPI_ATTID_msDS_Behavior_Version: val = "DRSUAPI_ATTID_msDS_Behavior_Version"; break;
1455 case DRSUAPI_ATTID_msDS_KeyVersionNumber: val = "DRSUAPI_ATTID_msDS_KeyVersionNumber"; break;
1456 case DRSUAPI_ATTID_msDS_HasDomainNCs: val = "DRSUAPI_ATTID_msDS_HasDomainNCs"; break;
1457 case DRSUAPI_ATTID_msDS_hasMasterNCs: val = "DRSUAPI_ATTID_msDS_hasMasterNCs"; break;
1458 case DRSUAPI_ATTID_isRecycled: val = "DRSUAPI_ATTID_isRecycled"; break;
1459 case DRSUAPI_ATTID_INVALID: val = "DRSUAPI_ATTID_INVALID"; break;
1461 ndr_print_enum(ndr, name, "ENUM", val, r);
1462 ndr->flags = _flags_save_ENUM;
1466 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1468 uint32_t cntr_attids_0;
1469 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1470 if (ndr_flags & NDR_SCALARS) {
1471 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
1472 NDR_CHECK(ndr_push_align(ndr, 4));
1473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1476 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1477 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1479 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1481 if (ndr_flags & NDR_BUFFERS) {
1483 return NDR_ERR_SUCCESS;
1486 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1488 uint32_t size_attids_0 = 0;
1489 uint32_t cntr_attids_0;
1490 TALLOC_CTX *_mem_save_attids_0;
1491 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1492 if (ndr_flags & NDR_SCALARS) {
1493 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1494 NDR_CHECK(ndr_pull_align(ndr, 4));
1495 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1496 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1497 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1498 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1499 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1501 size_attids_0 = ndr_get_array_size(ndr, &r->attids);
1502 NDR_PULL_ALLOC_N(ndr, r->attids, size_attids_0);
1503 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1504 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1505 for (cntr_attids_0 = 0; cntr_attids_0 < size_attids_0; cntr_attids_0++) {
1506 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1510 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1512 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1514 if (ndr_flags & NDR_BUFFERS) {
1516 return NDR_ERR_SUCCESS;
1519 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1521 uint32_t cntr_attids_0;
1522 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1523 if (r == NULL) { ndr_print_null(ndr); return; }
1525 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1526 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1527 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1528 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1530 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1531 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1537 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1539 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1540 if (ndr_flags & NDR_SCALARS) {
1541 NDR_CHECK(ndr_push_align(ndr, 8));
1542 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1543 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1544 if (r->naming_context == NULL) {
1545 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1547 NDR_CHECK(ndr_push_ref_ptr(ndr));
1548 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1549 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1550 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1551 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1553 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1554 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1555 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1556 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1557 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1558 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1560 if (ndr_flags & NDR_BUFFERS) {
1561 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1562 if (r->uptodateness_vector) {
1563 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1565 if (r->partial_attribute_set) {
1566 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1568 if (r->partial_attribute_set_ex) {
1569 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1571 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1573 return NDR_ERR_SUCCESS;
1576 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1578 uint32_t _ptr_naming_context;
1579 TALLOC_CTX *_mem_save_naming_context_0;
1580 uint32_t _ptr_uptodateness_vector;
1581 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1582 uint32_t _ptr_partial_attribute_set;
1583 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1584 uint32_t _ptr_partial_attribute_set_ex;
1585 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1586 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1587 if (ndr_flags & NDR_SCALARS) {
1588 NDR_CHECK(ndr_pull_align(ndr, 8));
1589 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1590 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1591 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1592 if (_ptr_naming_context) {
1593 NDR_PULL_ALLOC(ndr, r->naming_context);
1595 r->naming_context = NULL;
1597 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1598 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1599 if (_ptr_uptodateness_vector) {
1600 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1602 r->uptodateness_vector = NULL;
1604 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1605 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1606 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1607 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1608 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1609 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1610 if (_ptr_partial_attribute_set) {
1611 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1613 r->partial_attribute_set = NULL;
1615 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1616 if (_ptr_partial_attribute_set_ex) {
1617 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1619 r->partial_attribute_set_ex = NULL;
1621 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1622 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1624 if (ndr_flags & NDR_BUFFERS) {
1625 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1626 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1627 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1628 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1629 if (r->uptodateness_vector) {
1630 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1631 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1632 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1633 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1635 if (r->partial_attribute_set) {
1636 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1637 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1638 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1639 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1641 if (r->partial_attribute_set_ex) {
1642 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1643 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1644 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1645 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1647 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1649 return NDR_ERR_SUCCESS;
1652 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1654 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1655 if (r == NULL) { ndr_print_null(ndr); return; }
1657 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1658 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1659 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1661 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1663 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1664 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1666 if (r->uptodateness_vector) {
1667 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1670 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1671 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1672 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1673 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1674 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1675 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1677 if (r->partial_attribute_set) {
1678 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1681 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1683 if (r->partial_attribute_set_ex) {
1684 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1687 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1691 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
1693 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1694 if (ndr_flags & NDR_SCALARS) {
1695 NDR_CHECK(ndr_push_align(ndr, 8));
1696 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1697 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1698 if (r->naming_context == NULL) {
1699 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1701 NDR_CHECK(ndr_push_ref_ptr(ndr));
1702 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1703 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1704 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1705 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1706 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1707 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1708 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1709 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1710 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1711 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1712 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_flags));
1713 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1715 if (ndr_flags & NDR_BUFFERS) {
1716 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1717 if (r->uptodateness_vector) {
1718 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1720 if (r->partial_attribute_set) {
1721 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1723 if (r->partial_attribute_set_ex) {
1724 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1726 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1728 return NDR_ERR_SUCCESS;
1731 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
1733 uint32_t _ptr_naming_context;
1734 TALLOC_CTX *_mem_save_naming_context_0;
1735 uint32_t _ptr_uptodateness_vector;
1736 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1737 uint32_t _ptr_partial_attribute_set;
1738 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1739 uint32_t _ptr_partial_attribute_set_ex;
1740 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1741 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1742 if (ndr_flags & NDR_SCALARS) {
1743 NDR_CHECK(ndr_pull_align(ndr, 8));
1744 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1745 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1746 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1747 if (_ptr_naming_context) {
1748 NDR_PULL_ALLOC(ndr, r->naming_context);
1750 r->naming_context = NULL;
1752 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1753 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1754 if (_ptr_uptodateness_vector) {
1755 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1757 r->uptodateness_vector = NULL;
1759 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1760 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1761 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1762 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1763 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1764 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1765 if (_ptr_partial_attribute_set) {
1766 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1768 r->partial_attribute_set = NULL;
1770 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1771 if (_ptr_partial_attribute_set_ex) {
1772 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1774 r->partial_attribute_set_ex = NULL;
1776 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1777 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_flags));
1778 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1780 if (ndr_flags & NDR_BUFFERS) {
1781 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1782 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1783 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1784 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1785 if (r->uptodateness_vector) {
1786 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1787 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1788 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1789 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1791 if (r->partial_attribute_set) {
1792 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1793 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1794 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1795 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1797 if (r->partial_attribute_set_ex) {
1798 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1799 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1800 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1801 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1803 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1805 return NDR_ERR_SUCCESS;
1808 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
1810 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
1811 if (r == NULL) { ndr_print_null(ndr); return; }
1813 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1814 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1815 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1817 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1819 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1820 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1822 if (r->uptodateness_vector) {
1823 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1826 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1827 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1828 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1829 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1830 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1831 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1833 if (r->partial_attribute_set) {
1834 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1837 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1839 if (r->partial_attribute_set_ex) {
1840 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1843 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1844 ndr_print_uint32(ndr, "more_flags", r->more_flags);
1848 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1850 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1851 if (ndr_flags & NDR_SCALARS) {
1852 uint32_t level = ndr_push_get_switch_value(ndr, r);
1853 NDR_CHECK(ndr_push_union_align(ndr, 8));
1854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
1855 NDR_CHECK(ndr_push_union_align(ndr, 8));
1858 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1862 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1866 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1870 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1873 if (ndr_flags & NDR_BUFFERS) {
1874 uint32_t level = ndr_push_get_switch_value(ndr, r);
1877 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1881 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1885 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1889 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1892 return NDR_ERR_SUCCESS;
1895 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1899 level = ndr_pull_get_switch_value(ndr, r);
1900 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1901 if (ndr_flags & NDR_SCALARS) {
1902 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1903 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
1904 if (_level != level) {
1905 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1907 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1910 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1914 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1918 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1922 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1925 if (ndr_flags & NDR_BUFFERS) {
1928 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1932 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1936 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1940 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1943 return NDR_ERR_SUCCESS;
1946 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1949 level = ndr_print_get_switch_value(ndr, r);
1950 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1953 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1957 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1961 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
1965 ndr_print_bad_level(ndr, name, level);
1969 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1971 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1972 if (ndr_flags & NDR_SCALARS) {
1973 NDR_CHECK(ndr_push_align(ndr, 8));
1974 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1975 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1976 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1977 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1979 if (ndr_flags & NDR_BUFFERS) {
1981 return NDR_ERR_SUCCESS;
1984 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1986 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1987 if (ndr_flags & NDR_SCALARS) {
1988 NDR_CHECK(ndr_pull_align(ndr, 8));
1989 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1990 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1991 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1992 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1994 if (ndr_flags & NDR_BUFFERS) {
1996 return NDR_ERR_SUCCESS;
1999 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
2001 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
2002 if (r == NULL) { ndr_print_null(ndr); return; }
2004 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2005 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
2006 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
2010 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
2012 uint32_t cntr_cursors_0;
2013 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2014 if (ndr_flags & NDR_SCALARS) {
2015 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2016 NDR_CHECK(ndr_push_align(ndr, 8));
2017 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
2018 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2019 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2020 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2021 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
2022 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
2024 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2026 if (ndr_flags & NDR_BUFFERS) {
2028 return NDR_ERR_SUCCESS;
2031 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
2033 uint32_t size_cursors_0 = 0;
2034 uint32_t cntr_cursors_0;
2035 TALLOC_CTX *_mem_save_cursors_0;
2036 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2037 if (ndr_flags & NDR_SCALARS) {
2038 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
2039 NDR_CHECK(ndr_pull_align(ndr, 8));
2040 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2041 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
2042 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2043 if (r->count > 0x100000) {
2044 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2046 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
2047 size_cursors_0 = ndr_get_array_size(ndr, &r->cursors);
2048 NDR_PULL_ALLOC_N(ndr, r->cursors, size_cursors_0);
2049 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
2050 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
2051 for (cntr_cursors_0 = 0; cntr_cursors_0 < size_cursors_0; cntr_cursors_0++) {
2052 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
2054 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
2056 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
2058 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2060 if (ndr_flags & NDR_BUFFERS) {
2062 return NDR_ERR_SUCCESS;
2065 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
2067 uint32_t cntr_cursors_0;
2068 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
2069 if (r == NULL) { ndr_print_null(ndr); return; }
2071 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
2072 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2073 ndr_print_uint32(ndr, "count", r->count);
2074 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2075 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
2077 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
2078 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
2084 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
2086 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2087 if (ndr_flags & NDR_SCALARS) {
2088 NDR_CHECK(ndr_push_align(ndr, 5));
2089 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
2090 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
2091 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2093 if (ndr_flags & NDR_BUFFERS) {
2095 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
2098 return NDR_ERR_SUCCESS;
2101 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
2104 TALLOC_CTX *_mem_save_blob_0;
2105 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2106 if (ndr_flags & NDR_SCALARS) {
2107 NDR_CHECK(ndr_pull_align(ndr, 5));
2108 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2109 if (r->__ndr_size > 26214400) {
2110 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2112 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
2114 NDR_PULL_ALLOC(ndr, r->blob);
2118 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2120 if (ndr_flags & NDR_BUFFERS) {
2122 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
2123 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
2124 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
2125 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
2128 return NDR_ERR_SUCCESS;
2131 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
2133 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
2134 if (r == NULL) { ndr_print_null(ndr); return; }
2136 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
2137 ndr_print_ptr(ndr, "blob", r->blob);
2140 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
2146 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
2148 uint32_t cntr_values_1;
2149 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2150 if (ndr_flags & NDR_SCALARS) {
2151 NDR_CHECK(ndr_push_align(ndr, 5));
2152 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
2153 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
2154 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2156 if (ndr_flags & NDR_BUFFERS) {
2158 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
2159 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2160 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2162 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2163 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2167 return NDR_ERR_SUCCESS;
2170 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
2172 uint32_t _ptr_values;
2173 uint32_t size_values_1 = 0;
2174 uint32_t cntr_values_1;
2175 TALLOC_CTX *_mem_save_values_0;
2176 TALLOC_CTX *_mem_save_values_1;
2177 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2178 if (ndr_flags & NDR_SCALARS) {
2179 NDR_CHECK(ndr_pull_align(ndr, 5));
2180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
2181 if (r->num_values > 10485760) {
2182 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2184 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
2186 NDR_PULL_ALLOC(ndr, r->values);
2190 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2192 if (ndr_flags & NDR_BUFFERS) {
2194 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2195 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2196 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
2197 size_values_1 = ndr_get_array_size(ndr, &r->values);
2198 NDR_PULL_ALLOC_N(ndr, r->values, size_values_1);
2199 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
2200 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2201 for (cntr_values_1 = 0; cntr_values_1 < size_values_1; cntr_values_1++) {
2202 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2204 for (cntr_values_1 = 0; cntr_values_1 < size_values_1; cntr_values_1++) {
2205 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2207 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
2208 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
2211 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
2214 return NDR_ERR_SUCCESS;
2217 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
2219 uint32_t cntr_values_1;
2220 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
2221 if (r == NULL) { ndr_print_null(ndr); return; }
2223 ndr_print_uint32(ndr, "num_values", r->num_values);
2224 ndr_print_ptr(ndr, "values", r->values);
2227 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
2229 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
2230 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
2238 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2240 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2241 if (ndr_flags & NDR_SCALARS) {
2242 NDR_CHECK(ndr_push_align(ndr, 4));
2243 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->flags)));
2244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2245 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2246 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2248 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2249 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2251 if (ndr_flags & NDR_BUFFERS) {
2252 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2254 return NDR_ERR_SUCCESS;
2257 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
2259 uint32_t size_dn_0 = 0;
2260 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2261 if (ndr_flags & NDR_SCALARS) {
2262 NDR_CHECK(ndr_pull_align(ndr, 4));
2263 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2264 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2265 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2266 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2267 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2268 size_dn_0 = r->__ndr_size_dn + 1;
2269 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, size_dn_0, sizeof(uint16_t), CH_UTF16));
2270 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2272 if (ndr_flags & NDR_BUFFERS) {
2273 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2275 return NDR_ERR_SUCCESS;
2278 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2280 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
2281 if (r == NULL) { ndr_print_null(ndr); return; }
2283 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->flags):r->__ndr_size);
2284 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);
2285 ndr_print_GUID(ndr, "guid", &r->guid);
2286 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2287 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2288 ndr_print_string(ndr, "dn", r->dn);
2292 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, int flags)
2294 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3);
2297 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2299 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2300 if (ndr_flags & NDR_SCALARS) {
2301 NDR_CHECK(ndr_push_align(ndr, 4));
2302 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->flags)));
2303 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2304 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2305 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2306 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2307 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2308 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
2310 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2311 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2312 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
2313 ndr->flags = _flags_save_DATA_BLOB;
2315 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2317 if (ndr_flags & NDR_BUFFERS) {
2318 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2320 return NDR_ERR_SUCCESS;
2323 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2325 uint32_t size_dn_0 = 0;
2326 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2327 if (ndr_flags & NDR_SCALARS) {
2328 NDR_CHECK(ndr_pull_align(ndr, 4));
2329 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2330 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2331 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2332 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2333 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2334 size_dn_0 = r->__ndr_size_dn + 1;
2335 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, size_dn_0, sizeof(uint16_t), CH_UTF16));
2336 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
2338 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2339 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2340 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
2341 ndr->flags = _flags_save_DATA_BLOB;
2343 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2345 if (ndr_flags & NDR_BUFFERS) {
2346 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2348 return NDR_ERR_SUCCESS;
2351 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2353 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2354 if (r == NULL) { ndr_print_null(ndr); return; }
2356 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->flags):r->__ndr_size);
2357 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);
2358 ndr_print_GUID(ndr, "guid", &r->guid);
2359 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2360 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2361 ndr_print_string(ndr, "dn", r->dn);
2362 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2363 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2367 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2369 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2370 if (ndr_flags & NDR_SCALARS) {
2371 NDR_CHECK(ndr_push_align(ndr, 5));
2372 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2373 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2374 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2376 if (ndr_flags & NDR_BUFFERS) {
2377 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2379 return NDR_ERR_SUCCESS;
2382 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2384 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2385 if (ndr_flags & NDR_SCALARS) {
2386 NDR_CHECK(ndr_pull_align(ndr, 5));
2387 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2388 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2389 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2391 if (ndr_flags & NDR_BUFFERS) {
2392 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2394 return NDR_ERR_SUCCESS;
2397 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2399 uint32_t cntr_attributes_1;
2400 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2401 if (ndr_flags & NDR_SCALARS) {
2402 NDR_CHECK(ndr_push_align(ndr, 5));
2403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2404 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2405 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2407 if (ndr_flags & NDR_BUFFERS) {
2408 if (r->attributes) {
2409 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
2410 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2411 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2413 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2414 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2418 return NDR_ERR_SUCCESS;
2421 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2423 uint32_t _ptr_attributes;
2424 uint32_t size_attributes_1 = 0;
2425 uint32_t cntr_attributes_1;
2426 TALLOC_CTX *_mem_save_attributes_0;
2427 TALLOC_CTX *_mem_save_attributes_1;
2428 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2429 if (ndr_flags & NDR_SCALARS) {
2430 NDR_CHECK(ndr_pull_align(ndr, 5));
2431 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2432 if (r->num_attributes > 1048576) {
2433 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2435 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2436 if (_ptr_attributes) {
2437 NDR_PULL_ALLOC(ndr, r->attributes);
2439 r->attributes = NULL;
2441 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2443 if (ndr_flags & NDR_BUFFERS) {
2444 if (r->attributes) {
2445 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2446 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2447 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2448 size_attributes_1 = ndr_get_array_size(ndr, &r->attributes);
2449 NDR_PULL_ALLOC_N(ndr, r->attributes, size_attributes_1);
2450 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2451 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2452 for (cntr_attributes_1 = 0; cntr_attributes_1 < size_attributes_1; cntr_attributes_1++) {
2453 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2455 for (cntr_attributes_1 = 0; cntr_attributes_1 < size_attributes_1; cntr_attributes_1++) {
2456 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2458 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2459 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2461 if (r->attributes) {
2462 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2465 return NDR_ERR_SUCCESS;
2468 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2470 uint32_t cntr_attributes_1;
2471 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2472 if (r == NULL) { ndr_print_null(ndr); return; }
2474 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2475 ndr_print_ptr(ndr, "attributes", r->attributes);
2477 if (r->attributes) {
2478 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2480 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2481 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2489 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2491 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2492 return NDR_ERR_SUCCESS;
2495 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2498 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2500 return NDR_ERR_SUCCESS;
2503 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2505 ndr_print_uint32(ndr, name, r);
2507 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2508 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2509 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2513 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2515 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2516 if (ndr_flags & NDR_SCALARS) {
2517 NDR_CHECK(ndr_push_align(ndr, 5));
2518 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2519 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2520 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2521 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2523 if (ndr_flags & NDR_BUFFERS) {
2524 if (r->identifier) {
2525 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2527 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2529 return NDR_ERR_SUCCESS;
2532 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2534 uint32_t _ptr_identifier;
2535 TALLOC_CTX *_mem_save_identifier_0;
2536 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2537 if (ndr_flags & NDR_SCALARS) {
2538 NDR_CHECK(ndr_pull_align(ndr, 5));
2539 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2540 if (_ptr_identifier) {
2541 NDR_PULL_ALLOC(ndr, r->identifier);
2543 r->identifier = NULL;
2545 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2546 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2547 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2549 if (ndr_flags & NDR_BUFFERS) {
2550 if (r->identifier) {
2551 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2552 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2553 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2554 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2556 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2558 return NDR_ERR_SUCCESS;
2561 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2563 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2564 if (r == NULL) { ndr_print_null(ndr); return; }
2566 ndr_print_ptr(ndr, "identifier", r->identifier);
2568 if (r->identifier) {
2569 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2572 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2573 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2577 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2579 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2580 if (ndr_flags & NDR_SCALARS) {
2581 NDR_CHECK(ndr_push_align(ndr, 8));
2582 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2583 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2584 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2585 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2586 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2588 if (ndr_flags & NDR_BUFFERS) {
2590 return NDR_ERR_SUCCESS;
2593 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2595 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2596 if (ndr_flags & NDR_SCALARS) {
2597 NDR_CHECK(ndr_pull_align(ndr, 8));
2598 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2599 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2600 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2601 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2602 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2604 if (ndr_flags & NDR_BUFFERS) {
2606 return NDR_ERR_SUCCESS;
2609 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2611 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2612 if (r == NULL) { ndr_print_null(ndr); return; }
2614 ndr_print_uint32(ndr, "version", r->version);
2615 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2616 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2617 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2621 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2623 uint32_t cntr_meta_data_0;
2624 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2625 if (ndr_flags & NDR_SCALARS) {
2626 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2627 NDR_CHECK(ndr_push_align(ndr, 8));
2628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2629 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2630 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2632 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2634 if (ndr_flags & NDR_BUFFERS) {
2636 return NDR_ERR_SUCCESS;
2639 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2641 uint32_t size_meta_data_0 = 0;
2642 uint32_t cntr_meta_data_0;
2643 TALLOC_CTX *_mem_save_meta_data_0;
2644 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2645 if (ndr_flags & NDR_SCALARS) {
2646 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2647 NDR_CHECK(ndr_pull_align(ndr, 8));
2648 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2649 if (r->count > 1048576) {
2650 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2652 size_meta_data_0 = ndr_get_array_size(ndr, &r->meta_data);
2653 NDR_PULL_ALLOC_N(ndr, r->meta_data, size_meta_data_0);
2654 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2655 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2656 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < size_meta_data_0; cntr_meta_data_0++) {
2657 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2659 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2661 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2663 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2665 if (ndr_flags & NDR_BUFFERS) {
2667 return NDR_ERR_SUCCESS;
2670 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2672 uint32_t cntr_meta_data_0;
2673 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2674 if (r == NULL) { ndr_print_null(ndr); return; }
2676 ndr_print_uint32(ndr, "count", r->count);
2677 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2679 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2680 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2686 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2688 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2689 if (ndr_flags & NDR_SCALARS) {
2690 NDR_CHECK(ndr_push_align(ndr, 5));
2691 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2692 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2693 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2694 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2695 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2696 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2698 if (ndr_flags & NDR_BUFFERS) {
2699 if (r->next_object) {
2700 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2702 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2703 if (r->parent_object_guid) {
2704 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2706 if (r->meta_data_ctr) {
2707 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2710 return NDR_ERR_SUCCESS;
2713 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2715 uint32_t _ptr_next_object;
2716 TALLOC_CTX *_mem_save_next_object_0;
2717 uint32_t _ptr_parent_object_guid;
2718 TALLOC_CTX *_mem_save_parent_object_guid_0;
2719 uint32_t _ptr_meta_data_ctr;
2720 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2721 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2722 if (ndr_flags & NDR_SCALARS) {
2723 NDR_CHECK(ndr_pull_align(ndr, 5));
2724 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2725 if (_ptr_next_object) {
2726 NDR_PULL_ALLOC(ndr, r->next_object);
2728 r->next_object = NULL;
2730 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2731 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2732 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2733 if (_ptr_parent_object_guid) {
2734 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2736 r->parent_object_guid = NULL;
2738 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2739 if (_ptr_meta_data_ctr) {
2740 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2742 r->meta_data_ctr = NULL;
2744 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2746 if (ndr_flags & NDR_BUFFERS) {
2747 if (r->next_object) {
2748 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2749 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2750 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2751 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2753 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2754 if (r->parent_object_guid) {
2755 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2756 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2757 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2758 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2760 if (r->meta_data_ctr) {
2761 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2762 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2763 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2764 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2767 return NDR_ERR_SUCCESS;
2770 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2772 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2773 if (ndr_flags & NDR_SCALARS) {
2774 NDR_CHECK(ndr_push_align(ndr, 8));
2775 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2776 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2777 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2778 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2779 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2780 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2781 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2782 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->flags) + 55));
2785 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2787 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2789 if (ndr_flags & NDR_BUFFERS) {
2790 if (r->naming_context) {
2791 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2793 if (r->uptodateness_vector) {
2794 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2796 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2797 if (r->first_object) {
2798 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2801 return NDR_ERR_SUCCESS;
2804 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2806 uint32_t _ptr_naming_context;
2807 TALLOC_CTX *_mem_save_naming_context_0;
2808 uint32_t _ptr_uptodateness_vector;
2809 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2810 uint32_t _ptr_first_object;
2811 TALLOC_CTX *_mem_save_first_object_0;
2812 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2813 if (ndr_flags & NDR_SCALARS) {
2814 NDR_CHECK(ndr_pull_align(ndr, 8));
2815 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2816 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2817 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2818 if (_ptr_naming_context) {
2819 NDR_PULL_ALLOC(ndr, r->naming_context);
2821 r->naming_context = NULL;
2823 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2824 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2825 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2826 if (_ptr_uptodateness_vector) {
2827 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2829 r->uptodateness_vector = NULL;
2831 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2832 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2833 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2834 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2835 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2836 if (_ptr_first_object) {
2837 NDR_PULL_ALLOC(ndr, r->first_object);
2839 r->first_object = NULL;
2841 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2842 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2844 if (ndr_flags & NDR_BUFFERS) {
2845 if (r->naming_context) {
2846 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2847 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2848 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2849 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2851 if (r->uptodateness_vector) {
2852 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2853 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2854 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2855 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2857 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2858 if (r->first_object) {
2859 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2860 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2861 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2862 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2865 return NDR_ERR_SUCCESS;
2868 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2870 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2871 if (r == NULL) { ndr_print_null(ndr); return; }
2873 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2874 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2875 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2877 if (r->naming_context) {
2878 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2881 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2882 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2883 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2885 if (r->uptodateness_vector) {
2886 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2889 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2890 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2891 ndr_print_uint32(ndr, "object_count", r->object_count);
2892 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->flags) + 55:r->__ndr_size);
2893 ndr_print_ptr(ndr, "first_object", r->first_object);
2895 if (r->first_object) {
2896 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2899 ndr_print_uint32(ndr, "more_data", r->more_data);
2903 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, int flags)
2905 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1);
2908 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2910 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2911 return NDR_ERR_SUCCESS;
2914 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2917 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2919 return NDR_ERR_SUCCESS;
2922 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2924 ndr_print_uint32(ndr, name, r);
2926 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2930 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2932 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2933 if (ndr_flags & NDR_SCALARS) {
2934 NDR_CHECK(ndr_push_align(ndr, 8));
2935 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2936 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2937 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2938 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2939 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2940 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2941 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2943 if (ndr_flags & NDR_BUFFERS) {
2944 if (r->identifier) {
2945 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2947 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2949 return NDR_ERR_SUCCESS;
2952 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2954 uint32_t _ptr_identifier;
2955 TALLOC_CTX *_mem_save_identifier_0;
2956 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2957 if (ndr_flags & NDR_SCALARS) {
2958 NDR_CHECK(ndr_pull_align(ndr, 8));
2959 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2960 if (_ptr_identifier) {
2961 NDR_PULL_ALLOC(ndr, r->identifier);
2963 r->identifier = NULL;
2965 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2966 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2967 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2968 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2969 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2970 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2972 if (ndr_flags & NDR_BUFFERS) {
2973 if (r->identifier) {
2974 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2975 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2976 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2977 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2979 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2981 return NDR_ERR_SUCCESS;
2984 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2986 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2987 if (r == NULL) { ndr_print_null(ndr); return; }
2989 ndr_print_ptr(ndr, "identifier", r->identifier);
2991 if (r->identifier) {
2992 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2995 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2996 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2997 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2998 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2999 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
3003 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
3005 uint32_t cntr_linked_attributes_1;
3006 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3007 if (ndr_flags & NDR_SCALARS) {
3008 NDR_CHECK(ndr_push_align(ndr, 8));
3009 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
3010 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
3011 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
3012 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
3013 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
3014 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
3015 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
3016 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
3017 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
3018 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->flags) + 55));
3019 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
3020 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
3021 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
3022 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
3023 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
3024 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
3025 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
3026 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
3028 if (ndr_flags & NDR_BUFFERS) {
3029 if (r->naming_context) {
3030 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3032 if (r->uptodateness_vector) {
3033 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
3035 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3036 if (r->first_object) {
3037 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3039 if (r->linked_attributes) {
3040 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
3041 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3042 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3044 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3045 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3049 return NDR_ERR_SUCCESS;
3052 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
3054 uint32_t _ptr_naming_context;
3055 TALLOC_CTX *_mem_save_naming_context_0;
3056 uint32_t _ptr_uptodateness_vector;
3057 TALLOC_CTX *_mem_save_uptodateness_vector_0;
3058 uint32_t _ptr_first_object;
3059 TALLOC_CTX *_mem_save_first_object_0;
3060 uint32_t _ptr_linked_attributes;
3061 uint32_t size_linked_attributes_1 = 0;
3062 uint32_t cntr_linked_attributes_1;
3063 TALLOC_CTX *_mem_save_linked_attributes_0;
3064 TALLOC_CTX *_mem_save_linked_attributes_1;
3065 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3066 if (ndr_flags & NDR_SCALARS) {
3067 NDR_CHECK(ndr_pull_align(ndr, 8));
3068 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
3069 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
3070 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
3071 if (_ptr_naming_context) {
3072 NDR_PULL_ALLOC(ndr, r->naming_context);
3074 r->naming_context = NULL;
3076 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
3077 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
3078 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
3079 if (_ptr_uptodateness_vector) {
3080 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
3082 r->uptodateness_vector = NULL;
3084 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
3085 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
3086 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
3087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
3088 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
3089 if (_ptr_first_object) {
3090 NDR_PULL_ALLOC(ndr, r->first_object);
3092 r->first_object = NULL;
3094 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
3095 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
3096 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
3097 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
3098 if (r->linked_attributes_count > 1048576) {
3099 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3101 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
3102 if (_ptr_linked_attributes) {
3103 NDR_PULL_ALLOC(ndr, r->linked_attributes);
3105 r->linked_attributes = NULL;
3107 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
3108 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3110 if (ndr_flags & NDR_BUFFERS) {
3111 if (r->naming_context) {
3112 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3113 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3114 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3115 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3117 if (r->uptodateness_vector) {
3118 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
3119 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
3120 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
3121 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
3123 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3124 if (r->first_object) {
3125 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
3126 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
3127 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3128 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
3130 if (r->linked_attributes) {
3131 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
3132 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3133 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
3134 size_linked_attributes_1 = ndr_get_array_size(ndr, &r->linked_attributes);
3135 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, size_linked_attributes_1);
3136 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
3137 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3138 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < size_linked_attributes_1; cntr_linked_attributes_1++) {
3139 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3141 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < size_linked_attributes_1; cntr_linked_attributes_1++) {
3142 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3144 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
3145 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
3147 if (r->linked_attributes) {
3148 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
3151 return NDR_ERR_SUCCESS;
3154 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
3156 uint32_t cntr_linked_attributes_1;
3157 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
3158 if (r == NULL) { ndr_print_null(ndr); return; }
3160 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3161 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3162 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3164 if (r->naming_context) {
3165 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3168 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3169 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3170 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3172 if (r->uptodateness_vector) {
3173 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3176 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3177 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3178 ndr_print_uint32(ndr, "object_count", r->object_count);
3179 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->flags) + 55:r->__ndr_size);
3180 ndr_print_ptr(ndr, "first_object", r->first_object);
3182 if (r->first_object) {
3183 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3186 ndr_print_uint32(ndr, "more_data", r->more_data);
3187 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
3188 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
3189 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
3190 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
3192 if (r->linked_attributes) {
3193 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
3195 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
3196 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
3201 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
3205 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, int flags)
3207 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6);
3210 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3212 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3213 if (ndr_flags & NDR_SCALARS) {
3214 NDR_CHECK(ndr_push_align(ndr, 1));
3216 struct ndr_push *_ndr_ctr1;
3217 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3218 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3219 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3221 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3223 if (ndr_flags & NDR_BUFFERS) {
3225 return NDR_ERR_SUCCESS;
3228 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
3230 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3231 if (ndr_flags & NDR_SCALARS) {
3232 NDR_CHECK(ndr_pull_align(ndr, 1));
3234 struct ndr_pull *_ndr_ctr1;
3235 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3236 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3237 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3239 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3241 if (ndr_flags & NDR_BUFFERS) {
3243 return NDR_ERR_SUCCESS;
3246 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3248 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
3249 if (r == NULL) { ndr_print_null(ndr); return; }
3251 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3255 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3257 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3258 if (ndr_flags & NDR_SCALARS) {
3259 NDR_CHECK(ndr_push_align(ndr, 1));
3261 struct ndr_push *_ndr_ctr6;
3262 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3263 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3264 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3266 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3268 if (ndr_flags & NDR_BUFFERS) {
3270 return NDR_ERR_SUCCESS;
3273 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
3275 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3276 if (ndr_flags & NDR_SCALARS) {
3277 NDR_CHECK(ndr_pull_align(ndr, 1));
3279 struct ndr_pull *_ndr_ctr6;
3280 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3281 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3282 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3284 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3286 if (ndr_flags & NDR_BUFFERS) {
3288 return NDR_ERR_SUCCESS;
3291 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3293 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
3294 if (r == NULL) { ndr_print_null(ndr); return; }
3296 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3300 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3303 TALLOC_CTX *_mem_save_ts_0;
3304 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3305 if (ndr_flags & NDR_SCALARS) {
3306 NDR_CHECK(ndr_pull_align(ndr, 5));
3307 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3308 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3309 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3311 NDR_PULL_ALLOC(ndr, r->ts);
3315 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3317 if (ndr_flags & NDR_BUFFERS) {
3319 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3320 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3322 struct ndr_pull *_ndr_ts;
3323 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3325 struct ndr_pull *_ndr_ts_compressed;
3326 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3327 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3328 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3330 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3332 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3335 return NDR_ERR_SUCCESS;
3338 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3340 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
3341 if (r == NULL) { ndr_print_null(ndr); return; }
3343 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3344 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3345 ndr_print_ptr(ndr, "ts", r->ts);
3348 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3354 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3357 TALLOC_CTX *_mem_save_ts_0;
3358 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3359 if (ndr_flags & NDR_SCALARS) {
3360 NDR_CHECK(ndr_pull_align(ndr, 5));
3361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3362 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3363 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3365 NDR_PULL_ALLOC(ndr, r->ts);
3369 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3371 if (ndr_flags & NDR_BUFFERS) {
3373 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3374 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3376 struct ndr_pull *_ndr_ts;
3377 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3379 struct ndr_pull *_ndr_ts_compressed;
3380 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3381 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3382 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3384 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3386 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3389 return NDR_ERR_SUCCESS;
3392 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3394 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3395 if (r == NULL) { ndr_print_null(ndr); return; }
3397 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3398 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3399 ndr_print_ptr(ndr, "ts", r->ts);
3402 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3408 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3411 TALLOC_CTX *_mem_save_ts_0;
3412 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3413 if (ndr_flags & NDR_SCALARS) {
3414 NDR_CHECK(ndr_pull_align(ndr, 5));
3415 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3416 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3417 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3419 NDR_PULL_ALLOC(ndr, r->ts);
3423 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3425 if (ndr_flags & NDR_BUFFERS) {
3427 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3428 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3430 struct ndr_pull *_ndr_ts;
3431 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3433 struct ndr_pull *_ndr_ts_compressed;
3434 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3435 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3436 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3438 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3440 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3443 return NDR_ERR_SUCCESS;
3446 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3448 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3449 if (r == NULL) { ndr_print_null(ndr); return; }
3451 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3452 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3453 ndr_print_ptr(ndr, "ts", r->ts);
3456 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3462 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3465 TALLOC_CTX *_mem_save_ts_0;
3466 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3467 if (ndr_flags & NDR_SCALARS) {
3468 NDR_CHECK(ndr_pull_align(ndr, 5));
3469 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3470 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3471 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3473 NDR_PULL_ALLOC(ndr, r->ts);
3477 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3479 if (ndr_flags & NDR_BUFFERS) {
3481 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3482 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3484 struct ndr_pull *_ndr_ts;
3485 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3487 struct ndr_pull *_ndr_ts_compressed;
3488 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3489 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3490 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3492 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3494 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3497 return NDR_ERR_SUCCESS;
3500 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3502 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3503 if (r == NULL) { ndr_print_null(ndr); return; }
3505 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3506 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3507 ndr_print_ptr(ndr, "ts", r->ts);
3510 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3516 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3518 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3519 return NDR_ERR_SUCCESS;
3522 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3525 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3527 return NDR_ERR_SUCCESS;
3530 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3532 const char *val = NULL;
3535 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3536 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3538 ndr_print_enum(ndr, name, "ENUM", val, r);
3541 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3544 uint32_t _flags_save_UNION = ndr->flags;
3545 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3546 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3547 if (ndr_flags & NDR_SCALARS) {
3548 uint32_t level = ndr_push_get_switch_value(ndr, r);
3549 NDR_CHECK(ndr_push_union_align(ndr, 5));
3551 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3552 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3555 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3556 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3559 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3560 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3563 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3564 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3568 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3571 if (ndr_flags & NDR_BUFFERS) {
3572 uint32_t level = ndr_push_get_switch_value(ndr, r);
3574 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3575 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3578 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3579 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3582 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3583 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3586 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3587 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3591 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3594 ndr->flags = _flags_save_UNION;
3596 return NDR_ERR_SUCCESS;
3599 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3603 uint32_t _flags_save_UNION = ndr->flags;
3604 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3605 level = ndr_pull_get_switch_value(ndr, r);
3606 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3607 if (ndr_flags & NDR_SCALARS) {
3608 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3610 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3611 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3614 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3615 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3618 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3619 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3622 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3623 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3627 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3630 if (ndr_flags & NDR_BUFFERS) {
3632 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3633 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3636 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3637 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3640 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3641 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3644 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3645 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3649 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3652 ndr->flags = _flags_save_UNION;
3654 return NDR_ERR_SUCCESS;
3657 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3661 uint32_t _flags_save_UNION = ndr->flags;
3662 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3663 level = ndr_print_get_switch_value(ndr, r);
3664 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3666 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3667 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3670 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3671 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3674 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3675 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3678 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3679 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3683 ndr_print_bad_level(ndr, name, level);
3685 ndr->flags = _flags_save_UNION;
3689 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3691 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3692 if (ndr_flags & NDR_SCALARS) {
3693 NDR_CHECK(ndr_push_align(ndr, 5));
3694 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3695 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3697 if (ndr_flags & NDR_BUFFERS) {
3698 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3700 return NDR_ERR_SUCCESS;
3703 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3705 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3706 if (ndr_flags & NDR_SCALARS) {
3707 NDR_CHECK(ndr_pull_align(ndr, 5));
3708 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3709 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3711 if (ndr_flags & NDR_BUFFERS) {
3712 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3714 return NDR_ERR_SUCCESS;
3717 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3719 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3720 if (r == NULL) { ndr_print_null(ndr); return; }
3722 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3726 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3728 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3729 if (ndr_flags & NDR_SCALARS) {
3730 NDR_CHECK(ndr_push_align(ndr, 5));
3731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
3732 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3733 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3734 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3735 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3737 if (ndr_flags & NDR_BUFFERS) {
3738 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3740 return NDR_ERR_SUCCESS;
3743 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3745 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3746 if (ndr_flags & NDR_SCALARS) {
3747 NDR_CHECK(ndr_pull_align(ndr, 5));
3748 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
3750 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3752 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3753 if (r->type < 2 || r->type > 3) {
3754 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3756 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3757 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3758 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3760 if (ndr_flags & NDR_BUFFERS) {
3761 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3763 return NDR_ERR_SUCCESS;
3766 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3768 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3769 if (r == NULL) { ndr_print_null(ndr); return; }
3771 ndr_print_uint32(ndr, "level", r->level);
3772 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3773 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3774 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3778 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3780 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3781 if (ndr_flags & NDR_SCALARS) {
3782 uint32_t level = ndr_push_get_switch_value(ndr, r);
3783 NDR_CHECK(ndr_push_union_align(ndr, 8));
3784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
3785 NDR_CHECK(ndr_push_union_align(ndr, 8));
3788 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3792 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3796 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3800 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3804 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3807 if (ndr_flags & NDR_BUFFERS) {
3808 uint32_t level = ndr_push_get_switch_value(ndr, r);
3811 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3815 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3819 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3823 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3827 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3830 return NDR_ERR_SUCCESS;
3833 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3837 level = ndr_pull_get_switch_value(ndr, r);
3838 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3839 if (ndr_flags & NDR_SCALARS) {
3840 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3841 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
3842 if (_level != level) {
3843 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3845 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3848 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3852 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3856 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3860 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3864 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3867 if (ndr_flags & NDR_BUFFERS) {
3870 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3874 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3878 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3882 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3886 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3889 return NDR_ERR_SUCCESS;
3892 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3895 level = ndr_print_get_switch_value(ndr, r);
3896 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3899 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3903 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3907 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3911 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3915 ndr_print_bad_level(ndr, name, level);
3919 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3921 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3922 if (ndr_flags & NDR_SCALARS) {
3923 NDR_CHECK(ndr_push_align(ndr, 5));
3924 if (r->naming_context == NULL) {
3925 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3927 NDR_CHECK(ndr_push_ref_ptr(ndr));
3928 if (r->dest_dsa_dns_name == NULL) {
3929 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3931 NDR_CHECK(ndr_push_ref_ptr(ndr));
3932 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3933 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
3934 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3936 if (ndr_flags & NDR_BUFFERS) {
3937 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3938 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3939 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3940 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3941 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));
3943 return NDR_ERR_SUCCESS;
3946 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3948 uint32_t _ptr_naming_context;
3949 TALLOC_CTX *_mem_save_naming_context_0;
3950 uint32_t _ptr_dest_dsa_dns_name;
3951 uint32_t size_dest_dsa_dns_name_1 = 0;
3952 uint32_t length_dest_dsa_dns_name_1 = 0;
3953 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3954 if (ndr_flags & NDR_SCALARS) {
3955 NDR_CHECK(ndr_pull_align(ndr, 5));
3956 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3957 if (_ptr_naming_context) {
3958 NDR_PULL_ALLOC(ndr, r->naming_context);
3960 r->naming_context = NULL;
3962 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3963 if (_ptr_dest_dsa_dns_name) {
3964 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3966 r->dest_dsa_dns_name = NULL;
3968 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3969 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
3970 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3972 if (ndr_flags & NDR_BUFFERS) {
3973 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3974 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3975 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3976 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3977 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3978 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3979 size_dest_dsa_dns_name_1 = ndr_get_array_size(ndr, &r->dest_dsa_dns_name);
3980 length_dest_dsa_dns_name_1 = ndr_get_array_length(ndr, &r->dest_dsa_dns_name);
3981 if (length_dest_dsa_dns_name_1 > size_dest_dsa_dns_name_1) {
3982 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dest_dsa_dns_name_1, length_dest_dsa_dns_name_1);
3984 NDR_CHECK(ndr_check_string_terminator(ndr, length_dest_dsa_dns_name_1, sizeof(uint8_t)));
3985 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dest_dsa_dns_name, length_dest_dsa_dns_name_1, sizeof(uint8_t), CH_DOS));
3987 return NDR_ERR_SUCCESS;
3990 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3992 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3993 if (r == NULL) { ndr_print_null(ndr); return; }
3995 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3997 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3999 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
4001 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
4003 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
4004 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4008 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
4010 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4011 if (ndr_flags & NDR_SCALARS) {
4012 uint32_t level = ndr_push_get_switch_value(ndr, r);
4013 NDR_CHECK(ndr_push_union_align(ndr, 5));
4014 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4015 NDR_CHECK(ndr_push_union_align(ndr, 5));
4018 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
4022 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4025 if (ndr_flags & NDR_BUFFERS) {
4026 uint32_t level = ndr_push_get_switch_value(ndr, r);
4029 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
4033 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4036 return NDR_ERR_SUCCESS;
4039 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
4043 level = ndr_pull_get_switch_value(ndr, r);
4044 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4045 if (ndr_flags & NDR_SCALARS) {
4046 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4047 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4048 if (_level != level) {
4049 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4051 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4054 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
4058 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4061 if (ndr_flags & NDR_BUFFERS) {
4064 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
4068 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4071 return NDR_ERR_SUCCESS;
4074 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
4077 level = ndr_print_get_switch_value(ndr, r);
4078 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
4081 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
4085 ndr_print_bad_level(ndr, name, level);
4089 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
4091 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4092 if (ndr_flags & NDR_SCALARS) {
4093 NDR_CHECK(ndr_push_align(ndr, 5));
4094 if (r->naming_context == NULL) {
4095 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4097 NDR_CHECK(ndr_push_ref_ptr(ndr));
4098 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4099 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4100 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4101 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4103 if (ndr_flags & NDR_BUFFERS) {
4104 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4105 if (r->source_dsa_address) {
4106 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4107 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4108 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4109 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));
4112 return NDR_ERR_SUCCESS;
4115 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
4117 uint32_t _ptr_naming_context;
4118 TALLOC_CTX *_mem_save_naming_context_0;
4119 uint32_t _ptr_source_dsa_address;
4120 uint32_t size_source_dsa_address_1 = 0;
4121 uint32_t length_source_dsa_address_1 = 0;
4122 TALLOC_CTX *_mem_save_source_dsa_address_0;
4123 uint32_t size_schedule_0 = 0;
4124 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4125 if (ndr_flags & NDR_SCALARS) {
4126 NDR_CHECK(ndr_pull_align(ndr, 5));
4127 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4128 if (_ptr_naming_context) {
4129 NDR_PULL_ALLOC(ndr, r->naming_context);
4131 r->naming_context = NULL;
4133 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4134 if (_ptr_source_dsa_address) {
4135 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4137 r->source_dsa_address = NULL;
4139 size_schedule_0 = 84;
4140 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, size_schedule_0));
4141 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4142 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4144 if (ndr_flags & NDR_BUFFERS) {
4145 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4146 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4147 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4148 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4149 if (r->source_dsa_address) {
4150 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4151 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4152 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4153 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4154 size_source_dsa_address_1 = ndr_get_array_size(ndr, &r->source_dsa_address);
4155 length_source_dsa_address_1 = ndr_get_array_length(ndr, &r->source_dsa_address);
4156 if (length_source_dsa_address_1 > size_source_dsa_address_1) {
4157 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_address_1, length_source_dsa_address_1);
4159 NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_address_1, sizeof(uint16_t)));
4160 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, length_source_dsa_address_1, sizeof(uint16_t), CH_UTF16));
4161 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4164 return NDR_ERR_SUCCESS;
4167 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
4169 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
4170 if (r == NULL) { ndr_print_null(ndr); return; }
4172 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4174 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4176 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4178 if (r->source_dsa_address) {
4179 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4182 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4183 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4187 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
4189 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4190 if (ndr_flags & NDR_SCALARS) {
4191 NDR_CHECK(ndr_push_align(ndr, 5));
4192 if (r->naming_context == NULL) {
4193 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4195 NDR_CHECK(ndr_push_ref_ptr(ndr));
4196 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
4197 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
4198 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4199 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4200 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4201 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4203 if (ndr_flags & NDR_BUFFERS) {
4204 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4205 if (r->source_dsa_dn) {
4206 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4208 if (r->transport_dn) {
4209 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4211 if (r->source_dsa_address) {
4212 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4213 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4214 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4215 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));
4218 return NDR_ERR_SUCCESS;
4221 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
4223 uint32_t _ptr_naming_context;
4224 TALLOC_CTX *_mem_save_naming_context_0;
4225 uint32_t _ptr_source_dsa_dn;
4226 TALLOC_CTX *_mem_save_source_dsa_dn_0;
4227 uint32_t _ptr_transport_dn;
4228 TALLOC_CTX *_mem_save_transport_dn_0;
4229 uint32_t _ptr_source_dsa_address;
4230 uint32_t size_source_dsa_address_1 = 0;
4231 uint32_t length_source_dsa_address_1 = 0;
4232 TALLOC_CTX *_mem_save_source_dsa_address_0;
4233 uint32_t size_schedule_0 = 0;
4234 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4235 if (ndr_flags & NDR_SCALARS) {
4236 NDR_CHECK(ndr_pull_align(ndr, 5));
4237 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4238 if (_ptr_naming_context) {
4239 NDR_PULL_ALLOC(ndr, r->naming_context);
4241 r->naming_context = NULL;
4243 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
4244 if (_ptr_source_dsa_dn) {
4245 NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
4247 r->source_dsa_dn = NULL;
4249 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
4250 if (_ptr_transport_dn) {
4251 NDR_PULL_ALLOC(ndr, r->transport_dn);
4253 r->transport_dn = NULL;
4255 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4256 if (_ptr_source_dsa_address) {
4257 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4259 r->source_dsa_address = NULL;
4261 size_schedule_0 = 84;
4262 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, size_schedule_0));
4263 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4264 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4266 if (ndr_flags & NDR_BUFFERS) {
4267 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4268 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4269 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4270 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4271 if (r->source_dsa_dn) {
4272 _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4273 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
4274 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4275 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
4277 if (r->transport_dn) {
4278 _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4279 NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
4280 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
4283 if (r->source_dsa_address) {
4284 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4285 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4286 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4287 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4288 size_source_dsa_address_1 = ndr_get_array_size(ndr, &r->source_dsa_address);
4289 length_source_dsa_address_1 = ndr_get_array_length(ndr, &r->source_dsa_address);
4290 if (length_source_dsa_address_1 > size_source_dsa_address_1) {
4291 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_address_1, length_source_dsa_address_1);
4293 NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_address_1, sizeof(uint16_t)));
4294 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, length_source_dsa_address_1, sizeof(uint16_t), CH_UTF16));
4295 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4298 return NDR_ERR_SUCCESS;
4301 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
4303 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
4304 if (r == NULL) { ndr_print_null(ndr); return; }
4306 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4308 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4310 ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
4312 if (r->source_dsa_dn) {
4313 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
4316 ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
4318 if (r->transport_dn) {
4319 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
4322 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4324 if (r->source_dsa_address) {
4325 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4328 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4329 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4333 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
4335 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4336 if (ndr_flags & NDR_SCALARS) {
4337 uint32_t level = ndr_push_get_switch_value(ndr, r);
4338 NDR_CHECK(ndr_push_union_align(ndr, 5));
4339 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4340 NDR_CHECK(ndr_push_union_align(ndr, 5));
4343 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4347 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4351 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4354 if (ndr_flags & NDR_BUFFERS) {
4355 uint32_t level = ndr_push_get_switch_value(ndr, r);
4358 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4362 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4366 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4369 return NDR_ERR_SUCCESS;
4372 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
4376 level = ndr_pull_get_switch_value(ndr, r);
4377 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4378 if (ndr_flags & NDR_SCALARS) {
4379 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4380 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4381 if (_level != level) {
4382 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4384 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4387 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4391 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4395 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4398 if (ndr_flags & NDR_BUFFERS) {
4401 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4405 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4409 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4412 return NDR_ERR_SUCCESS;
4415 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4418 level = ndr_print_get_switch_value(ndr, r);
4419 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4422 ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4426 ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4430 ndr_print_bad_level(ndr, name, level);
4434 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4436 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4437 if (ndr_flags & NDR_SCALARS) {
4438 NDR_CHECK(ndr_push_align(ndr, 5));
4439 if (r->naming_context == NULL) {
4440 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4442 NDR_CHECK(ndr_push_ref_ptr(ndr));
4443 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4444 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4445 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4447 if (ndr_flags & NDR_BUFFERS) {
4448 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4449 if (r->source_dsa_address) {
4450 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF8)));
4451 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4452 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF8)));
4453 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF8), sizeof(uint8_t), CH_UTF8));
4456 return NDR_ERR_SUCCESS;
4459 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4461 uint32_t _ptr_naming_context;
4462 TALLOC_CTX *_mem_save_naming_context_0;
4463 uint32_t _ptr_source_dsa_address;
4464 uint32_t size_source_dsa_address_1 = 0;
4465 uint32_t length_source_dsa_address_1 = 0;
4466 TALLOC_CTX *_mem_save_source_dsa_address_0;
4467 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4468 if (ndr_flags & NDR_SCALARS) {
4469 NDR_CHECK(ndr_pull_align(ndr, 5));
4470 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4471 if (_ptr_naming_context) {
4472 NDR_PULL_ALLOC(ndr, r->naming_context);
4474 r->naming_context = NULL;
4476 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4477 if (_ptr_source_dsa_address) {
4478 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4480 r->source_dsa_address = NULL;
4482 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4483 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4485 if (ndr_flags & NDR_BUFFERS) {
4486 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4487 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4488 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4489 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4490 if (r->source_dsa_address) {
4491 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4492 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4493 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4494 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4495 size_source_dsa_address_1 = ndr_get_array_size(ndr, &r->source_dsa_address);
4496 length_source_dsa_address_1 = ndr_get_array_length(ndr, &r->source_dsa_address);
4497 if (length_source_dsa_address_1 > size_source_dsa_address_1) {
4498 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_address_1, length_source_dsa_address_1);
4500 NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_address_1, sizeof(uint8_t)));
4501 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, length_source_dsa_address_1, sizeof(uint8_t), CH_UTF8));
4502 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4505 return NDR_ERR_SUCCESS;
4508 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4510 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4511 if (r == NULL) { ndr_print_null(ndr); return; }
4513 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4515 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4517 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4519 if (r->source_dsa_address) {
4520 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4523 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4527 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4529 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4530 if (ndr_flags & NDR_SCALARS) {
4531 uint32_t level = ndr_push_get_switch_value(ndr, r);
4532 NDR_CHECK(ndr_push_union_align(ndr, 5));
4533 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4534 NDR_CHECK(ndr_push_union_align(ndr, 5));
4537 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4541 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4544 if (ndr_flags & NDR_BUFFERS) {
4545 uint32_t level = ndr_push_get_switch_value(ndr, r);
4548 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4552 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4555 return NDR_ERR_SUCCESS;
4558 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4562 level = ndr_pull_get_switch_value(ndr, r);
4563 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4564 if (ndr_flags & NDR_SCALARS) {
4565 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4566 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4567 if (_level != level) {
4568 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4570 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4573 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4577 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4580 if (ndr_flags & NDR_BUFFERS) {
4583 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4587 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4590 return NDR_ERR_SUCCESS;
4593 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4596 level = ndr_print_get_switch_value(ndr, r);
4597 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4600 ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4604 ndr_print_bad_level(ndr, name, level);
4608 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4610 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4611 if (ndr_flags & NDR_SCALARS) {
4612 NDR_CHECK(ndr_push_align(ndr, 5));
4613 if (r->naming_context == NULL) {
4614 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4616 NDR_CHECK(ndr_push_ref_ptr(ndr));
4617 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4618 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4619 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4620 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
4621 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4622 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4623 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4625 if (ndr_flags & NDR_BUFFERS) {
4626 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4627 if (r->source_dra_address) {
4628 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4629 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4630 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4631 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));
4634 return NDR_ERR_SUCCESS;
4637 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4639 uint32_t _ptr_naming_context;
4640 TALLOC_CTX *_mem_save_naming_context_0;
4641 uint32_t _ptr_source_dra_address;
4642 uint32_t size_source_dra_address_1 = 0;
4643 uint32_t length_source_dra_address_1 = 0;
4644 TALLOC_CTX *_mem_save_source_dra_address_0;
4645 uint32_t size_schedule_0 = 0;
4646 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4647 if (ndr_flags & NDR_SCALARS) {
4648 NDR_CHECK(ndr_pull_align(ndr, 5));
4649 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4650 if (_ptr_naming_context) {
4651 NDR_PULL_ALLOC(ndr, r->naming_context);
4653 r->naming_context = NULL;
4655 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4656 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4657 if (_ptr_source_dra_address) {
4658 NDR_PULL_ALLOC(ndr, r->source_dra_address);
4660 r->source_dra_address = NULL;
4662 size_schedule_0 = 84;
4663 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, size_schedule_0));
4664 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
4665 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4666 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4667 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4669 if (ndr_flags & NDR_BUFFERS) {
4670 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4671 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4672 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4673 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4674 if (r->source_dra_address) {
4675 _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4676 NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4677 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4678 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4679 size_source_dra_address_1 = ndr_get_array_size(ndr, &r->source_dra_address);
4680 length_source_dra_address_1 = ndr_get_array_length(ndr, &r->source_dra_address);
4681 if (length_source_dra_address_1 > size_source_dra_address_1) {
4682 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dra_address_1, length_source_dra_address_1);
4684 NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dra_address_1, sizeof(uint16_t)));
4685 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dra_address, length_source_dra_address_1, sizeof(uint16_t), CH_UTF16));
4686 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4689 return NDR_ERR_SUCCESS;
4692 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4694 ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4695 if (r == NULL) { ndr_print_null(ndr); return; }
4697 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4699 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4701 ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4702 ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4704 if (r->source_dra_address) {
4705 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4708 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4709 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
4710 ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4711 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4715 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4717 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4718 if (ndr_flags & NDR_SCALARS) {
4719 uint32_t level = ndr_push_get_switch_value(ndr, r);
4720 NDR_CHECK(ndr_push_union_align(ndr, 5));
4721 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4722 NDR_CHECK(ndr_push_union_align(ndr, 5));
4725 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4729 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4732 if (ndr_flags & NDR_BUFFERS) {
4733 uint32_t level = ndr_push_get_switch_value(ndr, r);
4736 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4740 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4743 return NDR_ERR_SUCCESS;
4746 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4750 level = ndr_pull_get_switch_value(ndr, r);
4751 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4752 if (ndr_flags & NDR_SCALARS) {
4753 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4754 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4755 if (_level != level) {
4756 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4758 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4761 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4765 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4768 if (ndr_flags & NDR_BUFFERS) {
4771 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4775 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4778 return NDR_ERR_SUCCESS;
4781 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
4784 level = ndr_print_get_switch_value(ndr, r);
4785 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
4788 ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
4792 ndr_print_bad_level(ndr, name, level);
4796 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
4798 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4799 return NDR_ERR_SUCCESS;
4802 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
4805 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4807 return NDR_ERR_SUCCESS;
4810 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
4812 const char *val = NULL;
4815 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4816 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4817 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4818 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4819 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4820 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4821 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4823 ndr_print_enum(ndr, name, "ENUM", val, r);
4826 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
4828 uint32_t cntr_info_array_1;
4829 uint32_t cntr_group_attrs_1;
4830 uint32_t cntr_sids_1;
4831 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4832 if (ndr_flags & NDR_SCALARS) {
4833 NDR_CHECK(ndr_push_align(ndr, 5));
4834 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4835 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4837 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4838 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
4839 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4840 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4842 if (ndr_flags & NDR_BUFFERS) {
4843 if (r->info_array) {
4844 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4845 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4846 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4848 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4849 if (r->info_array[cntr_info_array_1]) {
4850 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4854 if (r->group_attrs) {
4855 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4856 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4857 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
4861 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
4862 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4863 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
4865 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4866 if (r->sids[cntr_sids_1]) {
4867 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4872 return NDR_ERR_SUCCESS;
4875 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
4877 uint32_t _ptr_info_array;
4878 uint32_t size_info_array_1 = 0;
4879 uint32_t cntr_info_array_1;
4880 TALLOC_CTX *_mem_save_info_array_0;
4881 TALLOC_CTX *_mem_save_info_array_1;
4882 TALLOC_CTX *_mem_save_info_array_2;
4883 uint32_t _ptr_group_attrs;
4884 uint32_t size_group_attrs_1 = 0;
4885 uint32_t cntr_group_attrs_1;
4886 TALLOC_CTX *_mem_save_group_attrs_0;
4887 TALLOC_CTX *_mem_save_group_attrs_1;
4889 uint32_t size_sids_1 = 0;
4890 uint32_t cntr_sids_1;
4891 TALLOC_CTX *_mem_save_sids_0;
4892 TALLOC_CTX *_mem_save_sids_1;
4893 TALLOC_CTX *_mem_save_sids_2;
4894 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4895 if (ndr_flags & NDR_SCALARS) {
4896 NDR_CHECK(ndr_pull_align(ndr, 5));
4897 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4898 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
4899 if (r->num_memberships > 10000) {
4900 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4902 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
4903 if (r->num_sids > 10000) {
4904 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4906 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4907 if (_ptr_info_array) {
4908 NDR_PULL_ALLOC(ndr, r->info_array);
4910 r->info_array = NULL;
4912 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
4913 if (_ptr_group_attrs) {
4914 NDR_PULL_ALLOC(ndr, r->group_attrs);
4916 r->group_attrs = NULL;
4918 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4920 NDR_PULL_ALLOC(ndr, r->sids);
4924 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4926 if (ndr_flags & NDR_BUFFERS) {
4927 if (r->info_array) {
4928 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4929 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4930 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4931 size_info_array_1 = ndr_get_array_size(ndr, &r->info_array);
4932 NDR_PULL_ALLOC_N(ndr, r->info_array, size_info_array_1);
4933 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4934 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4935 for (cntr_info_array_1 = 0; cntr_info_array_1 < size_info_array_1; cntr_info_array_1++) {
4936 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4937 if (_ptr_info_array) {
4938 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4940 r->info_array[cntr_info_array_1] = NULL;
4943 for (cntr_info_array_1 = 0; cntr_info_array_1 < size_info_array_1; cntr_info_array_1++) {
4944 if (r->info_array[cntr_info_array_1]) {
4945 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4946 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4947 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4948 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4951 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4952 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4954 if (r->group_attrs) {
4955 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
4956 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4957 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
4958 size_group_attrs_1 = ndr_get_array_size(ndr, &r->group_attrs);
4959 NDR_PULL_ALLOC_N(ndr, r->group_attrs, size_group_attrs_1);
4960 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
4961 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4962 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < size_group_attrs_1; cntr_group_attrs_1++) {
4963 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
4965 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
4966 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
4969 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4970 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4971 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4972 size_sids_1 = ndr_get_array_size(ndr, &r->sids);
4973 NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
4974 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4975 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4976 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
4977 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4979 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
4981 r->sids[cntr_sids_1] = NULL;
4984 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
4985 if (r->sids[cntr_sids_1]) {
4986 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
4987 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
4988 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4989 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
4992 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4993 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4995 if (r->info_array) {
4996 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
4998 if (r->group_attrs) {
4999 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
5002 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
5005 return NDR_ERR_SUCCESS;
5008 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
5010 uint32_t cntr_info_array_1;
5011 uint32_t cntr_group_attrs_1;
5012 uint32_t cntr_sids_1;
5013 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
5014 if (r == NULL) { ndr_print_null(ndr); return; }
5016 ndr_print_NTSTATUS(ndr, "status", r->status);
5017 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
5018 ndr_print_uint32(ndr, "num_sids", r->num_sids);
5019 ndr_print_ptr(ndr, "info_array", r->info_array);
5021 if (r->info_array) {
5022 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
5024 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
5025 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5027 if (r->info_array[cntr_info_array_1]) {
5028 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5035 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
5037 if (r->group_attrs) {
5038 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
5040 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
5041 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
5046 ndr_print_ptr(ndr, "sids", r->sids);
5049 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
5051 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
5052 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
5054 if (r->sids[cntr_sids_1]) {
5055 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
5065 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
5067 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5068 if (ndr_flags & NDR_SCALARS) {
5069 uint32_t level = ndr_push_get_switch_value(ndr, r);
5070 NDR_CHECK(ndr_push_union_align(ndr, 5));
5071 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5072 NDR_CHECK(ndr_push_union_align(ndr, 5));
5075 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5079 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5082 if (ndr_flags & NDR_BUFFERS) {
5083 uint32_t level = ndr_push_get_switch_value(ndr, r);
5086 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5090 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5093 return NDR_ERR_SUCCESS;
5096 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
5100 level = ndr_pull_get_switch_value(ndr, r);
5101 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5102 if (ndr_flags & NDR_SCALARS) {
5103 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5104 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5105 if (_level != level) {
5106 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5108 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5111 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
5115 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5118 if (ndr_flags & NDR_BUFFERS) {
5121 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5125 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5128 return NDR_ERR_SUCCESS;
5131 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
5134 level = ndr_print_get_switch_value(ndr, r);
5135 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
5138 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
5142 ndr_print_bad_level(ndr, name, level);
5146 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
5148 uint32_t cntr_info_array_1;
5149 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5150 if (ndr_flags & NDR_SCALARS) {
5151 NDR_CHECK(ndr_push_align(ndr, 5));
5152 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5153 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
5154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5155 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
5156 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5157 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5159 if (ndr_flags & NDR_BUFFERS) {
5160 if (r->info_array) {
5161 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5162 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5163 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
5165 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5166 if (r->info_array[cntr_info_array_1]) {
5167 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5172 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5175 return NDR_ERR_SUCCESS;
5178 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
5180 uint32_t _ptr_info_array;
5181 uint32_t size_info_array_1 = 0;
5182 uint32_t cntr_info_array_1;
5183 TALLOC_CTX *_mem_save_info_array_0;
5184 TALLOC_CTX *_mem_save_info_array_1;
5185 TALLOC_CTX *_mem_save_info_array_2;
5186 uint32_t _ptr_domain;
5187 TALLOC_CTX *_mem_save_domain_0;
5188 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5189 if (ndr_flags & NDR_SCALARS) {
5190 NDR_CHECK(ndr_pull_align(ndr, 5));
5191 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5192 if (r->count < 1 || r->count > 10000) {
5193 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5195 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5196 if (_ptr_info_array) {
5197 NDR_PULL_ALLOC(ndr, r->info_array);
5199 r->info_array = NULL;
5201 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5202 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
5203 if (r->type < 1 || r->type > 7) {
5204 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5206 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5208 NDR_PULL_ALLOC(ndr, r->domain);
5212 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5214 if (ndr_flags & NDR_BUFFERS) {
5215 if (r->info_array) {
5216 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5217 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5218 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5219 size_info_array_1 = ndr_get_array_size(ndr, &r->info_array);
5220 NDR_PULL_ALLOC_N(ndr, r->info_array, size_info_array_1);
5221 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5222 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5223 for (cntr_info_array_1 = 0; cntr_info_array_1 < size_info_array_1; cntr_info_array_1++) {
5224 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5225 if (_ptr_info_array) {
5226 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5228 r->info_array[cntr_info_array_1] = NULL;
5231 for (cntr_info_array_1 = 0; cntr_info_array_1 < size_info_array_1; cntr_info_array_1++) {
5232 if (r->info_array[cntr_info_array_1]) {
5233 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5234 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5235 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5236 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5239 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5240 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5243 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5244 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5245 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5246 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5248 if (r->info_array) {
5249 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
5252 return NDR_ERR_SUCCESS;
5255 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
5257 uint32_t cntr_info_array_1;
5258 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
5259 if (r == NULL) { ndr_print_null(ndr); return; }
5261 ndr_print_uint32(ndr, "count", r->count);
5262 ndr_print_ptr(ndr, "info_array", r->info_array);
5264 if (r->info_array) {
5265 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
5267 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
5268 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5270 if (r->info_array[cntr_info_array_1]) {
5271 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5278 ndr_print_uint32(ndr, "flags", r->flags);
5279 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
5280 ndr_print_ptr(ndr, "domain", r->domain);
5283 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
5289 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
5291 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5292 if (ndr_flags & NDR_SCALARS) {
5293 uint32_t level = ndr_push_get_switch_value(ndr, r);
5294 NDR_CHECK(ndr_push_union_align(ndr, 5));
5295 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5296 NDR_CHECK(ndr_push_union_align(ndr, 5));
5299 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5303 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5306 if (ndr_flags & NDR_BUFFERS) {
5307 uint32_t level = ndr_push_get_switch_value(ndr, r);
5310 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5314 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5317 return NDR_ERR_SUCCESS;
5320 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
5324 level = ndr_pull_get_switch_value(ndr, r);
5325 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5326 if (ndr_flags & NDR_SCALARS) {
5327 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5328 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5329 if (_level != level) {
5330 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5332 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5335 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5339 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5342 if (ndr_flags & NDR_BUFFERS) {
5345 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5349 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5352 return NDR_ERR_SUCCESS;
5355 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
5358 level = ndr_print_get_switch_value(ndr, r);
5359 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
5362 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
5366 ndr_print_bad_level(ndr, name, level);
5370 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5372 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5373 return NDR_ERR_SUCCESS;
5376 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5379 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5381 return NDR_ERR_SUCCESS;
5384 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5386 ndr_print_uint32(ndr, name, r);
5388 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG", DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG, r);
5389 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS", DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS, r);
5393 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5395 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5396 if (ndr_flags & NDR_SCALARS) {
5397 NDR_CHECK(ndr_push_align(ndr, 5));
5398 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
5399 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->preferred_maximum_length));
5400 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length));
5401 NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data));
5402 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5404 if (ndr_flags & NDR_BUFFERS) {
5405 if (r->restart_data) {
5406 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length));
5407 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length));
5410 return NDR_ERR_SUCCESS;
5413 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5415 uint32_t _ptr_restart_data;
5416 uint32_t size_restart_data_1 = 0;
5417 TALLOC_CTX *_mem_save_restart_data_0;
5418 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5419 if (ndr_flags & NDR_SCALARS) {
5420 NDR_CHECK(ndr_pull_align(ndr, 5));
5421 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
5422 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->preferred_maximum_length));
5423 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length));
5424 if (r->restart_length > 0x00A00000) {
5425 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5427 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data));
5428 if (_ptr_restart_data) {
5429 NDR_PULL_ALLOC(ndr, r->restart_data);
5431 r->restart_data = NULL;
5433 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5435 if (ndr_flags & NDR_BUFFERS) {
5436 if (r->restart_data) {
5437 _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5438 NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0);
5439 NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data));
5440 size_restart_data_1 = ndr_get_array_size(ndr, &r->restart_data);
5441 NDR_PULL_ALLOC_N(ndr, r->restart_data, size_restart_data_1);
5442 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, size_restart_data_1));
5443 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0);
5445 if (r->restart_data) {
5446 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->restart_data, r->restart_length));
5449 return NDR_ERR_SUCCESS;
5452 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5454 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5455 if (r == NULL) { ndr_print_null(ndr); return; }
5457 ndr_print_drsuapi_DsGetNT4ChangeLogFlags(ndr, "flags", r->flags);
5458 ndr_print_uint32(ndr, "preferred_maximum_length", r->preferred_maximum_length);
5459 ndr_print_uint32(ndr, "restart_length", r->restart_length);
5460 ndr_print_ptr(ndr, "restart_data", r->restart_data);
5462 if (r->restart_data) {
5463 ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length);
5469 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5471 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5472 if (ndr_flags & NDR_SCALARS) {
5473 uint32_t level = ndr_push_get_switch_value(ndr, r);
5474 NDR_CHECK(ndr_push_union_align(ndr, 5));
5475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5476 NDR_CHECK(ndr_push_union_align(ndr, 5));
5479 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5483 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5486 if (ndr_flags & NDR_BUFFERS) {
5487 uint32_t level = ndr_push_get_switch_value(ndr, r);
5490 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5494 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5497 return NDR_ERR_SUCCESS;
5500 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5504 level = ndr_pull_get_switch_value(ndr, r);
5505 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5506 if (ndr_flags & NDR_SCALARS) {
5507 NDR_CHECK(ndr_pull_union_align(ndr, 5));
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, 5));
5515 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5519 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5522 if (ndr_flags & NDR_BUFFERS) {
5525 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
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_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5538 level = ndr_print_get_switch_value(ndr, r);
5539 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5542 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5546 ndr_print_bad_level(ndr, name, level);
5550 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5552 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5553 if (ndr_flags & NDR_SCALARS) {
5554 NDR_CHECK(ndr_push_align(ndr, 8));
5555 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length));
5556 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->log_length));
5557 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sam_serial_number));
5558 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->sam_creation_time));
5559 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->builtin_serial_number));
5560 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->builtin_creation_time));
5561 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lsa_serial_number));
5562 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->lsa_creation_time));
5563 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5564 NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data));
5565 NDR_CHECK(ndr_push_unique_ptr(ndr, r->log_data));
5566 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5568 if (ndr_flags & NDR_BUFFERS) {
5569 if (r->restart_data) {
5570 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length));
5571 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length));
5574 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->log_length));
5575 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->log_data, r->log_length));
5578 return NDR_ERR_SUCCESS;
5581 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5583 uint32_t _ptr_restart_data;
5584 uint32_t size_restart_data_1 = 0;
5585 TALLOC_CTX *_mem_save_restart_data_0;
5586 uint32_t _ptr_log_data;
5587 uint32_t size_log_data_1 = 0;
5588 TALLOC_CTX *_mem_save_log_data_0;
5589 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5590 if (ndr_flags & NDR_SCALARS) {
5591 NDR_CHECK(ndr_pull_align(ndr, 8));
5592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length));
5593 if (r->restart_length > 0x00A00000) {
5594 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5596 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->log_length));
5597 if (r->log_length > 0x00A00000) {
5598 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5600 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sam_serial_number));
5601 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->sam_creation_time));
5602 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->builtin_serial_number));
5603 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->builtin_creation_time));
5604 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lsa_serial_number));
5605 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->lsa_creation_time));
5606 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5607 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data));
5608 if (_ptr_restart_data) {
5609 NDR_PULL_ALLOC(ndr, r->restart_data);
5611 r->restart_data = NULL;
5613 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_log_data));
5614 if (_ptr_log_data) {
5615 NDR_PULL_ALLOC(ndr, r->log_data);
5619 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5621 if (ndr_flags & NDR_BUFFERS) {
5622 if (r->restart_data) {
5623 _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5624 NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0);
5625 NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data));
5626 size_restart_data_1 = ndr_get_array_size(ndr, &r->restart_data);
5627 NDR_PULL_ALLOC_N(ndr, r->restart_data, size_restart_data_1);
5628 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, size_restart_data_1));
5629 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0);
5632 _mem_save_log_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5633 NDR_PULL_SET_MEM_CTX(ndr, r->log_data, 0);
5634 NDR_CHECK(ndr_pull_array_size(ndr, &r->log_data));
5635 size_log_data_1 = ndr_get_array_size(ndr, &r->log_data);
5636 NDR_PULL_ALLOC_N(ndr, r->log_data, size_log_data_1);
5637 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->log_data, size_log_data_1));
5638 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_log_data_0, 0);
5640 if (r->restart_data) {
5641 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->restart_data, r->restart_length));
5644 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->log_data, r->log_length));
5647 return NDR_ERR_SUCCESS;
5650 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5652 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5653 if (r == NULL) { ndr_print_null(ndr); return; }
5655 ndr_print_uint32(ndr, "restart_length", r->restart_length);
5656 ndr_print_uint32(ndr, "log_length", r->log_length);
5657 ndr_print_hyper(ndr, "sam_serial_number", r->sam_serial_number);
5658 ndr_print_NTTIME(ndr, "sam_creation_time", r->sam_creation_time);
5659 ndr_print_hyper(ndr, "builtin_serial_number", r->builtin_serial_number);
5660 ndr_print_NTTIME(ndr, "builtin_creation_time", r->builtin_creation_time);
5661 ndr_print_hyper(ndr, "lsa_serial_number", r->lsa_serial_number);
5662 ndr_print_NTTIME(ndr, "lsa_creation_time", r->lsa_creation_time);
5663 ndr_print_NTSTATUS(ndr, "status", r->status);
5664 ndr_print_ptr(ndr, "restart_data", r->restart_data);
5666 if (r->restart_data) {
5667 ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length);
5670 ndr_print_ptr(ndr, "log_data", r->log_data);
5673 ndr_print_array_uint8(ndr, "log_data", r->log_data, r->log_length);
5679 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5681 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5682 if (ndr_flags & NDR_SCALARS) {
5683 uint32_t level = ndr_push_get_switch_value(ndr, r);
5684 NDR_CHECK(ndr_push_union_align(ndr, 8));
5685 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5686 NDR_CHECK(ndr_push_union_align(ndr, 8));
5689 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5693 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5696 if (ndr_flags & NDR_BUFFERS) {
5697 uint32_t level = ndr_push_get_switch_value(ndr, r);
5700 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5704 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5707 return NDR_ERR_SUCCESS;
5710 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5714 level = ndr_pull_get_switch_value(ndr, r);
5715 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5716 if (ndr_flags & NDR_SCALARS) {
5717 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5718 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5719 if (_level != level) {
5720 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5722 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5725 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5729 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5732 if (ndr_flags & NDR_BUFFERS) {
5735 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5739 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5742 return NDR_ERR_SUCCESS;
5745 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5748 level = ndr_print_get_switch_value(ndr, r);
5749 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5752 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5756 ndr_print_bad_level(ndr, name, level);
5760 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5762 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5763 return NDR_ERR_SUCCESS;
5766 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5769 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5771 return NDR_ERR_SUCCESS;
5774 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5776 const char *val = NULL;
5779 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5780 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5781 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5782 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5783 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5784 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5785 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5786 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5788 ndr_print_enum(ndr, name, "ENUM", val, r);
5791 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5793 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5794 return NDR_ERR_SUCCESS;
5797 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5800 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5802 return NDR_ERR_SUCCESS;
5805 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5807 const char *val = NULL;
5810 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5811 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5812 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5813 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5814 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5816 ndr_print_enum(ndr, name, "ENUM", val, r);
5819 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5821 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5822 return NDR_ERR_SUCCESS;
5825 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5828 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5830 return NDR_ERR_SUCCESS;
5833 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5835 const char *val = NULL;
5838 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5839 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5840 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5841 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5842 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5843 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5844 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5845 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5846 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5847 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5848 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5849 case DRSUAPI_DS_NAME_FORMAT_UPN_AND_ALTSECID: val = "DRSUAPI_DS_NAME_FORMAT_UPN_AND_ALTSECID"; break;
5850 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN_EX: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN_EX"; break;
5851 case DRSUAPI_DS_NAME_FORMAT_LIST_GLOBAL_CATALOG_SERVERS: val = "DRSUAPI_DS_NAME_FORMAT_LIST_GLOBAL_CATALOG_SERVERS"; break;
5852 case DRSUAPI_DS_NAME_FORMAT_UPN_FOR_LOGON: val = "DRSUAPI_DS_NAME_FORMAT_UPN_FOR_LOGON"; break;
5853 case DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_WITH_DCS_IN_SITE: val = "DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_WITH_DCS_IN_SITE"; break;
5854 case DRSUAPI_DS_NAME_FORMAT_STRING_SID_NAME: val = "DRSUAPI_DS_NAME_FORMAT_STRING_SID_NAME"; break;
5855 case DRSUAPI_DS_NAME_FORMAT_ALT_SECURITY_IDENTITIES_NAME: val = "DRSUAPI_DS_NAME_FORMAT_ALT_SECURITY_IDENTITIES_NAME"; break;
5856 case DRSUAPI_DS_NAME_FORMAT_LIST_NCS: val = "DRSUAPI_DS_NAME_FORMAT_LIST_NCS"; break;
5857 case DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS: val = "DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS"; break;
5858 case DRSUAPI_DS_NAME_FORMAT_MAP_SCHEMA_GUID: val = "DRSUAPI_DS_NAME_FORMAT_MAP_SCHEMA_GUID"; break;
5859 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT_NAME_SANS_DOMAIN"; break;
5860 case DRSUAPI_DS_NAME_FORMAT_LIST_ROLES: val = "DRSUAPI_DS_NAME_FORMAT_LIST_ROLES"; break;
5861 case DRSUAPI_DS_NAME_FORMAT_LIST_INFO_FOR_SERVER: val = "DRSUAPI_DS_NAME_FORMAT_LIST_INFO_FOR_SERVER"; break;
5862 case DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_FOR_DOMAIN_IN_SITE: val = "DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_FOR_DOMAIN_IN_SITE"; break;
5863 case DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS_IN_SITE: val = "DRSUAPI_DS_NAME_FORMAT_LIST_DOMAINS_IN_SITE"; break;
5864 case DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_IN_SITE: val = "DRSUAPI_DS_NAME_FORMAT_LIST_SERVERS_IN_SITE"; break;
5865 case DRSUAPI_DS_NAME_FORMAT_LIST_SITES: val = "DRSUAPI_DS_NAME_FORMAT_LIST_SITES"; break;
5867 ndr_print_enum(ndr, name, "ENUM", val, r);
5870 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5872 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5873 if (ndr_flags & NDR_SCALARS) {
5874 NDR_CHECK(ndr_push_align(ndr, 5));
5875 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5876 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5878 if (ndr_flags & NDR_BUFFERS) {
5880 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5881 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5882 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5883 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5886 return NDR_ERR_SUCCESS;
5889 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5892 uint32_t size_str_1 = 0;
5893 uint32_t length_str_1 = 0;
5894 TALLOC_CTX *_mem_save_str_0;
5895 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5896 if (ndr_flags & NDR_SCALARS) {
5897 NDR_CHECK(ndr_pull_align(ndr, 5));
5898 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5900 NDR_PULL_ALLOC(ndr, r->str);
5904 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5906 if (ndr_flags & NDR_BUFFERS) {
5908 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5909 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5910 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5911 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5912 size_str_1 = ndr_get_array_size(ndr, &r->str);
5913 length_str_1 = ndr_get_array_length(ndr, &r->str);
5914 if (length_str_1 > size_str_1) {
5915 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_str_1, length_str_1);
5917 NDR_CHECK(ndr_check_string_terminator(ndr, length_str_1, sizeof(uint16_t)));
5918 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, length_str_1, sizeof(uint16_t), CH_UTF16));
5919 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5922 return NDR_ERR_SUCCESS;
5925 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5927 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5928 if (r == NULL) { ndr_print_null(ndr); return; }
5930 ndr_print_ptr(ndr, "str", r->str);
5933 ndr_print_string(ndr, "str", r->str);
5939 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5941 uint32_t cntr_names_1;
5942 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5943 if (ndr_flags & NDR_SCALARS) {
5944 NDR_CHECK(ndr_push_align(ndr, 5));
5945 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5946 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5947 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5948 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5949 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5950 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5951 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5952 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5954 if (ndr_flags & NDR_BUFFERS) {
5956 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5957 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5958 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5960 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5961 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5965 return NDR_ERR_SUCCESS;
5968 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5970 uint32_t _ptr_names;
5971 uint32_t size_names_1 = 0;
5972 uint32_t cntr_names_1;
5973 TALLOC_CTX *_mem_save_names_0;
5974 TALLOC_CTX *_mem_save_names_1;
5975 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5976 if (ndr_flags & NDR_SCALARS) {
5977 NDR_CHECK(ndr_pull_align(ndr, 5));
5978 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5979 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5980 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5981 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5982 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5983 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5984 if (r->count < 1 || r->count > 10000) {
5985 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5987 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5989 NDR_PULL_ALLOC(ndr, r->names);
5993 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5995 if (ndr_flags & NDR_BUFFERS) {
5997 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5998 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5999 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
6000 size_names_1 = ndr_get_array_size(ndr, &r->names);
6001 NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
6002 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6003 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
6004 for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
6005 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
6007 for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
6008 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
6010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
6011 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
6014 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
6017 return NDR_ERR_SUCCESS;
6020 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
6022 uint32_t cntr_names_1;
6023 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
6024 if (r == NULL) { ndr_print_null(ndr); return; }
6026 ndr_print_uint32(ndr, "codepage", r->codepage);
6027 ndr_print_uint32(ndr, "language", r->language);
6028 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
6029 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
6030 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
6031 ndr_print_uint32(ndr, "count", r->count);
6032 ndr_print_ptr(ndr, "names", r->names);
6035 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
6037 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
6038 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
6046 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
6048 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6049 if (ndr_flags & NDR_SCALARS) {
6050 uint32_t level = ndr_push_get_switch_value(ndr, r);
6051 NDR_CHECK(ndr_push_union_align(ndr, 5));
6052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6053 NDR_CHECK(ndr_push_union_align(ndr, 5));
6056 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
6060 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6063 if (ndr_flags & NDR_BUFFERS) {
6064 uint32_t level = ndr_push_get_switch_value(ndr, r);
6067 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
6071 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6074 return NDR_ERR_SUCCESS;
6077 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
6081 level = ndr_pull_get_switch_value(ndr, r);
6082 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6083 if (ndr_flags & NDR_SCALARS) {
6084 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6085 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6086 if (_level != level) {
6087 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6089 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6092 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
6096 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6099 if (ndr_flags & NDR_BUFFERS) {
6102 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
6106 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6109 return NDR_ERR_SUCCESS;
6112 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
6115 level = ndr_print_get_switch_value(ndr, r);
6116 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
6119 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
6123 ndr_print_bad_level(ndr, name, level);
6127 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
6129 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6130 if (ndr_flags & NDR_SCALARS) {
6131 NDR_CHECK(ndr_push_align(ndr, 5));
6132 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
6133 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
6134 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
6135 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6137 if (ndr_flags & NDR_BUFFERS) {
6138 if (r->dns_domain_name) {
6139 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
6140 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6141 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
6142 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));
6144 if (r->result_name) {
6145 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
6146 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6147 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
6148 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6151 return NDR_ERR_SUCCESS;
6154 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
6156 uint32_t _ptr_dns_domain_name;
6157 uint32_t size_dns_domain_name_1 = 0;
6158 uint32_t length_dns_domain_name_1 = 0;
6159 TALLOC_CTX *_mem_save_dns_domain_name_0;
6160 uint32_t _ptr_result_name;
6161 uint32_t size_result_name_1 = 0;
6162 uint32_t length_result_name_1 = 0;
6163 TALLOC_CTX *_mem_save_result_name_0;
6164 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6165 if (ndr_flags & NDR_SCALARS) {
6166 NDR_CHECK(ndr_pull_align(ndr, 5));
6167 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
6168 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
6169 if (_ptr_dns_domain_name) {
6170 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
6172 r->dns_domain_name = NULL;
6174 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
6175 if (_ptr_result_name) {
6176 NDR_PULL_ALLOC(ndr, r->result_name);
6178 r->result_name = NULL;
6180 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6182 if (ndr_flags & NDR_BUFFERS) {
6183 if (r->dns_domain_name) {
6184 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6185 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
6186 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
6187 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
6188 size_dns_domain_name_1 = ndr_get_array_size(ndr, &r->dns_domain_name);
6189 length_dns_domain_name_1 = ndr_get_array_length(ndr, &r->dns_domain_name);
6190 if (length_dns_domain_name_1 > size_dns_domain_name_1) {
6191 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_domain_name_1, length_dns_domain_name_1);
6193 NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_domain_name_1, sizeof(uint16_t)));
6194 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain_name, length_dns_domain_name_1, sizeof(uint16_t), CH_UTF16));
6195 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
6197 if (r->result_name) {
6198 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6199 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
6200 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
6201 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
6202 size_result_name_1 = ndr_get_array_size(ndr, &r->result_name);
6203 length_result_name_1 = ndr_get_array_length(ndr, &r->result_name);
6204 if (length_result_name_1 > size_result_name_1) {
6205 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_result_name_1, length_result_name_1);
6207 NDR_CHECK(ndr_check_string_terminator(ndr, length_result_name_1, sizeof(uint16_t)));
6208 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, length_result_name_1, sizeof(uint16_t), CH_UTF16));
6209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
6212 return NDR_ERR_SUCCESS;
6215 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
6217 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
6218 if (r == NULL) { ndr_print_null(ndr); return; }
6220 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
6221 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
6223 if (r->dns_domain_name) {
6224 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
6227 ndr_print_ptr(ndr, "result_name", r->result_name);
6229 if (r->result_name) {
6230 ndr_print_string(ndr, "result_name", r->result_name);
6236 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
6238 uint32_t cntr_array_1;
6239 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6240 if (ndr_flags & NDR_SCALARS) {
6241 NDR_CHECK(ndr_push_align(ndr, 5));
6242 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6243 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6244 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6246 if (ndr_flags & NDR_BUFFERS) {
6248 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6249 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6250 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6252 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6253 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6257 return NDR_ERR_SUCCESS;
6260 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
6262 uint32_t _ptr_array;
6263 uint32_t size_array_1 = 0;
6264 uint32_t cntr_array_1;
6265 TALLOC_CTX *_mem_save_array_0;
6266 TALLOC_CTX *_mem_save_array_1;
6267 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6268 if (ndr_flags & NDR_SCALARS) {
6269 NDR_CHECK(ndr_pull_align(ndr, 5));
6270 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6271 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6273 NDR_PULL_ALLOC(ndr, r->array);
6277 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6279 if (ndr_flags & NDR_BUFFERS) {
6281 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6282 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6283 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6284 size_array_1 = ndr_get_array_size(ndr, &r->array);
6285 NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
6286 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6287 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6288 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
6289 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6291 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
6292 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6294 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6295 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6298 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6301 return NDR_ERR_SUCCESS;
6304 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6306 uint32_t cntr_array_1;
6307 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6308 if (r == NULL) { ndr_print_null(ndr); return; }
6310 ndr_print_uint32(ndr, "count", r->count);
6311 ndr_print_ptr(ndr, "array", r->array);
6314 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6316 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6317 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6325 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6327 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6328 if (ndr_flags & NDR_SCALARS) {
6329 uint32_t level = ndr_push_get_switch_value(ndr, r);
6330 NDR_CHECK(ndr_push_union_align(ndr, 5));
6331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6332 NDR_CHECK(ndr_push_union_align(ndr, 5));
6335 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6339 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6342 if (ndr_flags & NDR_BUFFERS) {
6343 uint32_t level = ndr_push_get_switch_value(ndr, r);
6347 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6352 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6355 return NDR_ERR_SUCCESS;
6358 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6362 TALLOC_CTX *_mem_save_ctr1_0;
6364 level = ndr_pull_get_switch_value(ndr, r);
6365 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6366 if (ndr_flags & NDR_SCALARS) {
6367 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6368 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6369 if (_level != level) {
6370 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6372 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6375 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6377 NDR_PULL_ALLOC(ndr, r->ctr1);
6384 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6387 if (ndr_flags & NDR_BUFFERS) {
6391 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6392 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6393 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6394 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6399 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6402 return NDR_ERR_SUCCESS;
6405 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6408 level = ndr_print_get_switch_value(ndr, r);
6409 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6412 ndr_print_ptr(ndr, "ctr1", r->ctr1);
6415 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6421 ndr_print_bad_level(ndr, name, level);
6425 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6427 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6428 return NDR_ERR_SUCCESS;
6431 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6434 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6436 return NDR_ERR_SUCCESS;
6439 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6441 const char *val = NULL;
6444 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6445 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6446 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6448 ndr_print_enum(ndr, name, "ENUM", val, r);
6451 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6453 uint32_t cntr_spn_names_1;
6454 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6455 if (ndr_flags & NDR_SCALARS) {
6456 NDR_CHECK(ndr_push_align(ndr, 5));
6457 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6458 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6459 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6460 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6461 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6462 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6464 if (ndr_flags & NDR_BUFFERS) {
6466 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6467 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6468 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6469 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6472 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6473 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6474 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6476 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6477 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6481 return NDR_ERR_SUCCESS;
6484 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6486 uint32_t _ptr_object_dn;
6487 uint32_t size_object_dn_1 = 0;
6488 uint32_t length_object_dn_1 = 0;
6489 TALLOC_CTX *_mem_save_object_dn_0;
6490 uint32_t _ptr_spn_names;
6491 uint32_t size_spn_names_1 = 0;
6492 uint32_t cntr_spn_names_1;
6493 TALLOC_CTX *_mem_save_spn_names_0;
6494 TALLOC_CTX *_mem_save_spn_names_1;
6495 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6496 if (ndr_flags & NDR_SCALARS) {
6497 NDR_CHECK(ndr_pull_align(ndr, 5));
6498 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6499 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6500 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6501 if (_ptr_object_dn) {
6502 NDR_PULL_ALLOC(ndr, r->object_dn);
6504 r->object_dn = NULL;
6506 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6507 if (r->count > 10000) {
6508 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6510 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6511 if (_ptr_spn_names) {
6512 NDR_PULL_ALLOC(ndr, r->spn_names);
6514 r->spn_names = NULL;
6516 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6518 if (ndr_flags & NDR_BUFFERS) {
6520 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6521 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6522 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6523 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6524 size_object_dn_1 = ndr_get_array_size(ndr, &r->object_dn);
6525 length_object_dn_1 = ndr_get_array_length(ndr, &r->object_dn);
6526 if (length_object_dn_1 > size_object_dn_1) {
6527 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
6529 NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
6530 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
6531 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6534 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6535 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6536 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6537 size_spn_names_1 = ndr_get_array_size(ndr, &r->spn_names);
6538 NDR_PULL_ALLOC_N(ndr, r->spn_names, size_spn_names_1);
6539 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6540 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6541 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < size_spn_names_1; cntr_spn_names_1++) {
6542 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6544 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < size_spn_names_1; cntr_spn_names_1++) {
6545 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6547 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6548 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6551 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6554 return NDR_ERR_SUCCESS;
6557 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6559 uint32_t cntr_spn_names_1;
6560 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6561 if (r == NULL) { ndr_print_null(ndr); return; }
6563 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6564 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6565 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6568 ndr_print_string(ndr, "object_dn", r->object_dn);
6571 ndr_print_uint32(ndr, "count", r->count);
6572 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6575 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6577 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6578 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6586 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6588 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6589 if (ndr_flags & NDR_SCALARS) {
6590 uint32_t level = ndr_push_get_switch_value(ndr, r);
6591 NDR_CHECK(ndr_push_union_align(ndr, 5));
6592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6593 NDR_CHECK(ndr_push_union_align(ndr, 5));
6596 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6600 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6603 if (ndr_flags & NDR_BUFFERS) {
6604 uint32_t level = ndr_push_get_switch_value(ndr, r);
6607 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6611 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6614 return NDR_ERR_SUCCESS;
6617 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6621 level = ndr_pull_get_switch_value(ndr, r);
6622 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6623 if (ndr_flags & NDR_SCALARS) {
6624 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6625 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6626 if (_level != level) {
6627 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6629 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6632 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6636 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6639 if (ndr_flags & NDR_BUFFERS) {
6642 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6646 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6649 return NDR_ERR_SUCCESS;
6652 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6655 level = ndr_print_get_switch_value(ndr, r);
6656 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6659 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6663 ndr_print_bad_level(ndr, name, level);
6667 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6669 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6670 if (ndr_flags & NDR_SCALARS) {
6671 NDR_CHECK(ndr_push_align(ndr, 4));
6672 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6673 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6675 if (ndr_flags & NDR_BUFFERS) {
6677 return NDR_ERR_SUCCESS;
6680 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6682 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6683 if (ndr_flags & NDR_SCALARS) {
6684 NDR_CHECK(ndr_pull_align(ndr, 4));
6685 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6686 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6688 if (ndr_flags & NDR_BUFFERS) {
6690 return NDR_ERR_SUCCESS;
6693 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6695 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6696 if (r == NULL) { ndr_print_null(ndr); return; }
6698 ndr_print_WERROR(ndr, "status", r->status);
6702 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6704 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6705 if (ndr_flags & NDR_SCALARS) {
6706 uint32_t level = ndr_push_get_switch_value(ndr, r);
6707 NDR_CHECK(ndr_push_union_align(ndr, 4));
6708 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6709 NDR_CHECK(ndr_push_union_align(ndr, 4));
6712 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6716 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6719 if (ndr_flags & NDR_BUFFERS) {
6720 uint32_t level = ndr_push_get_switch_value(ndr, r);
6726 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6729 return NDR_ERR_SUCCESS;
6732 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6736 level = ndr_pull_get_switch_value(ndr, r);
6737 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6738 if (ndr_flags & NDR_SCALARS) {
6739 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6740 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6741 if (_level != level) {
6742 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6744 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6747 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6751 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6754 if (ndr_flags & NDR_BUFFERS) {
6760 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6763 return NDR_ERR_SUCCESS;
6766 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6769 level = ndr_print_get_switch_value(ndr, r);
6770 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6773 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6777 ndr_print_bad_level(ndr, name, level);
6781 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6783 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6784 if (ndr_flags & NDR_SCALARS) {
6785 NDR_CHECK(ndr_push_align(ndr, 5));
6786 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6787 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6789 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6791 if (ndr_flags & NDR_BUFFERS) {
6793 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6794 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6795 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6796 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6799 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6800 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6801 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6802 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6805 return NDR_ERR_SUCCESS;
6808 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6810 uint32_t _ptr_server_dn;
6811 uint32_t size_server_dn_1 = 0;
6812 uint32_t length_server_dn_1 = 0;
6813 TALLOC_CTX *_mem_save_server_dn_0;
6814 uint32_t _ptr_domain_dn;
6815 uint32_t size_domain_dn_1 = 0;
6816 uint32_t length_domain_dn_1 = 0;
6817 TALLOC_CTX *_mem_save_domain_dn_0;
6818 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6819 if (ndr_flags & NDR_SCALARS) {
6820 NDR_CHECK(ndr_pull_align(ndr, 5));
6821 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6822 if (_ptr_server_dn) {
6823 NDR_PULL_ALLOC(ndr, r->server_dn);
6825 r->server_dn = NULL;
6827 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6828 if (_ptr_domain_dn) {
6829 NDR_PULL_ALLOC(ndr, r->domain_dn);
6831 r->domain_dn = NULL;
6833 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6834 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6836 if (ndr_flags & NDR_BUFFERS) {
6838 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6839 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6840 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6841 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6842 size_server_dn_1 = ndr_get_array_size(ndr, &r->server_dn);
6843 length_server_dn_1 = ndr_get_array_length(ndr, &r->server_dn);
6844 if (length_server_dn_1 > size_server_dn_1) {
6845 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
6847 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
6848 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
6849 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6852 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6853 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6854 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6855 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6856 size_domain_dn_1 = ndr_get_array_size(ndr, &r->domain_dn);
6857 length_domain_dn_1 = ndr_get_array_length(ndr, &r->domain_dn);
6858 if (length_domain_dn_1 > size_domain_dn_1) {
6859 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_dn_1, length_domain_dn_1);
6861 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_dn_1, sizeof(uint16_t)));
6862 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, length_domain_dn_1, sizeof(uint16_t), CH_UTF16));
6863 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6866 return NDR_ERR_SUCCESS;
6869 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6871 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6872 if (r == NULL) { ndr_print_null(ndr); return; }
6874 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6877 ndr_print_string(ndr, "server_dn", r->server_dn);
6880 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6883 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6886 ndr_print_uint32(ndr, "commit", r->commit);
6890 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6892 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6893 if (ndr_flags & NDR_SCALARS) {
6894 uint32_t level = ndr_push_get_switch_value(ndr, r);
6895 NDR_CHECK(ndr_push_union_align(ndr, 5));
6896 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6897 NDR_CHECK(ndr_push_union_align(ndr, 5));
6900 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6904 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6907 if (ndr_flags & NDR_BUFFERS) {
6908 uint32_t level = ndr_push_get_switch_value(ndr, r);
6911 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6915 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6918 return NDR_ERR_SUCCESS;
6921 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6925 level = ndr_pull_get_switch_value(ndr, r);
6926 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6927 if (ndr_flags & NDR_SCALARS) {
6928 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6929 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6930 if (_level != level) {
6931 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6933 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6936 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6940 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6943 if (ndr_flags & NDR_BUFFERS) {
6946 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6950 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6953 return NDR_ERR_SUCCESS;
6956 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6959 level = ndr_print_get_switch_value(ndr, r);
6960 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6963 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6967 ndr_print_bad_level(ndr, name, level);
6971 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6973 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
6974 if (ndr_flags & NDR_SCALARS) {
6975 NDR_CHECK(ndr_push_align(ndr, 4));
6976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6977 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6979 if (ndr_flags & NDR_BUFFERS) {
6981 return NDR_ERR_SUCCESS;
6984 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6986 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
6987 if (ndr_flags & NDR_SCALARS) {
6988 NDR_CHECK(ndr_pull_align(ndr, 4));
6989 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6990 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6992 if (ndr_flags & NDR_BUFFERS) {
6994 return NDR_ERR_SUCCESS;
6997 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6999 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
7000 if (r == NULL) { ndr_print_null(ndr); return; }
7002 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
7006 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
7008 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7009 if (ndr_flags & NDR_SCALARS) {
7010 uint32_t level = ndr_push_get_switch_value(ndr, r);
7011 NDR_CHECK(ndr_push_union_align(ndr, 4));
7012 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7013 NDR_CHECK(ndr_push_union_align(ndr, 4));
7016 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
7020 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7023 if (ndr_flags & NDR_BUFFERS) {
7024 uint32_t level = ndr_push_get_switch_value(ndr, r);
7030 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7033 return NDR_ERR_SUCCESS;
7036 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
7040 level = ndr_pull_get_switch_value(ndr, r);
7041 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7042 if (ndr_flags & NDR_SCALARS) {
7043 NDR_CHECK(ndr_pull_union_align(ndr, 4));
7044 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7045 if (_level != level) {
7046 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7048 NDR_CHECK(ndr_pull_union_align(ndr, 4));
7051 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
7055 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7058 if (ndr_flags & NDR_BUFFERS) {
7064 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7067 return NDR_ERR_SUCCESS;
7070 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
7073 level = ndr_print_get_switch_value(ndr, r);
7074 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
7077 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
7081 ndr_print_bad_level(ndr, name, level);
7085 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
7087 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7088 if (ndr_flags & NDR_SCALARS) {
7089 NDR_CHECK(ndr_push_align(ndr, 5));
7090 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
7091 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
7092 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7094 if (ndr_flags & NDR_BUFFERS) {
7095 if (r->domain_name) {
7096 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
7097 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7098 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
7099 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7102 return NDR_ERR_SUCCESS;
7105 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
7107 uint32_t _ptr_domain_name;
7108 uint32_t size_domain_name_1 = 0;
7109 uint32_t length_domain_name_1 = 0;
7110 TALLOC_CTX *_mem_save_domain_name_0;
7111 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7112 if (ndr_flags & NDR_SCALARS) {
7113 NDR_CHECK(ndr_pull_align(ndr, 5));
7114 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
7115 if (_ptr_domain_name) {
7116 NDR_PULL_ALLOC(ndr, r->domain_name);
7118 r->domain_name = NULL;
7120 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
7121 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7123 if (ndr_flags & NDR_BUFFERS) {
7124 if (r->domain_name) {
7125 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7126 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
7127 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
7128 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
7129 size_domain_name_1 = ndr_get_array_size(ndr, &r->domain_name);
7130 length_domain_name_1 = ndr_get_array_length(ndr, &r->domain_name);
7131 if (length_domain_name_1 > size_domain_name_1) {
7132 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
7134 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
7135 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
7136 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
7139 return NDR_ERR_SUCCESS;
7142 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
7144 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
7145 if (r == NULL) { ndr_print_null(ndr); return; }
7147 ndr_print_ptr(ndr, "domain_name", r->domain_name);
7149 if (r->domain_name) {
7150 ndr_print_string(ndr, "domain_name", r->domain_name);
7153 ndr_print_int32(ndr, "level", r->level);
7157 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
7159 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7160 if (ndr_flags & NDR_SCALARS) {
7161 uint32_t level = ndr_push_get_switch_value(ndr, r);
7162 NDR_CHECK(ndr_push_union_align(ndr, 5));
7163 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
7164 NDR_CHECK(ndr_push_union_align(ndr, 5));
7167 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
7171 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7174 if (ndr_flags & NDR_BUFFERS) {
7175 uint32_t level = ndr_push_get_switch_value(ndr, r);
7178 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
7182 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7185 return NDR_ERR_SUCCESS;
7188 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
7192 level = ndr_pull_get_switch_value(ndr, r);
7193 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7194 if (ndr_flags & NDR_SCALARS) {
7195 NDR_CHECK(ndr_pull_union_align(ndr, 5));
7196 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
7197 if (_level != level) {
7198 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7200 NDR_CHECK(ndr_pull_union_align(ndr, 5));
7203 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
7207 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7210 if (ndr_flags & NDR_BUFFERS) {
7213 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
7217 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7220 return NDR_ERR_SUCCESS;
7223 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
7226 level = ndr_print_get_switch_value(ndr, r);
7227 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
7230 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
7234 ndr_print_bad_level(ndr, name, level);
7238 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
7240 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7241 if (ndr_flags & NDR_SCALARS) {
7242 NDR_CHECK(ndr_push_align(ndr, 5));
7243 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7244 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7245 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7246 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7247 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7248 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7249 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7250 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7252 if (ndr_flags & NDR_BUFFERS) {
7253 if (r->netbios_name) {
7254 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7255 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7256 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7257 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7260 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7261 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7262 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7263 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7266 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7267 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7268 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7269 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7271 if (r->computer_dn) {
7272 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7273 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7274 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7275 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7278 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7279 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7280 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7281 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7284 return NDR_ERR_SUCCESS;
7287 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
7289 uint32_t _ptr_netbios_name;
7290 uint32_t size_netbios_name_1 = 0;
7291 uint32_t length_netbios_name_1 = 0;
7292 TALLOC_CTX *_mem_save_netbios_name_0;
7293 uint32_t _ptr_dns_name;
7294 uint32_t size_dns_name_1 = 0;
7295 uint32_t length_dns_name_1 = 0;
7296 TALLOC_CTX *_mem_save_dns_name_0;
7297 uint32_t _ptr_site_name;
7298 uint32_t size_site_name_1 = 0;
7299 uint32_t length_site_name_1 = 0;
7300 TALLOC_CTX *_mem_save_site_name_0;
7301 uint32_t _ptr_computer_dn;
7302 uint32_t size_computer_dn_1 = 0;
7303 uint32_t length_computer_dn_1 = 0;
7304 TALLOC_CTX *_mem_save_computer_dn_0;
7305 uint32_t _ptr_server_dn;
7306 uint32_t size_server_dn_1 = 0;
7307 uint32_t length_server_dn_1 = 0;
7308 TALLOC_CTX *_mem_save_server_dn_0;
7309 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7310 if (ndr_flags & NDR_SCALARS) {
7311 NDR_CHECK(ndr_pull_align(ndr, 5));
7312 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7313 if (_ptr_netbios_name) {
7314 NDR_PULL_ALLOC(ndr, r->netbios_name);
7316 r->netbios_name = NULL;
7318 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7319 if (_ptr_dns_name) {
7320 NDR_PULL_ALLOC(ndr, r->dns_name);
7324 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7325 if (_ptr_site_name) {
7326 NDR_PULL_ALLOC(ndr, r->site_name);
7328 r->site_name = NULL;
7330 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7331 if (_ptr_computer_dn) {
7332 NDR_PULL_ALLOC(ndr, r->computer_dn);
7334 r->computer_dn = NULL;
7336 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7337 if (_ptr_server_dn) {
7338 NDR_PULL_ALLOC(ndr, r->server_dn);
7340 r->server_dn = NULL;
7342 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7343 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7344 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7346 if (ndr_flags & NDR_BUFFERS) {
7347 if (r->netbios_name) {
7348 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7349 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7350 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7351 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7352 size_netbios_name_1 = ndr_get_array_size(ndr, &r->netbios_name);
7353 length_netbios_name_1 = ndr_get_array_length(ndr, &r->netbios_name);
7354 if (length_netbios_name_1 > size_netbios_name_1) {
7355 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
7357 NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
7358 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
7359 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7362 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7363 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7364 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7365 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7366 size_dns_name_1 = ndr_get_array_size(ndr, &r->dns_name);
7367 length_dns_name_1 = ndr_get_array_length(ndr, &r->dns_name);
7368 if (length_dns_name_1 > size_dns_name_1) {
7369 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
7371 NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
7372 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
7373 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7376 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7377 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7378 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7379 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7380 size_site_name_1 = ndr_get_array_size(ndr, &r->site_name);
7381 length_site_name_1 = ndr_get_array_length(ndr, &r->site_name);
7382 if (length_site_name_1 > size_site_name_1) {
7383 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
7385 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
7386 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
7387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7389 if (r->computer_dn) {
7390 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7391 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7392 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7393 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7394 size_computer_dn_1 = ndr_get_array_size(ndr, &r->computer_dn);
7395 length_computer_dn_1 = ndr_get_array_length(ndr, &r->computer_dn);
7396 if (length_computer_dn_1 > size_computer_dn_1) {
7397 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_dn_1, length_computer_dn_1);
7399 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_dn_1, sizeof(uint16_t)));
7400 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, length_computer_dn_1, sizeof(uint16_t), CH_UTF16));
7401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7404 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7405 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7406 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7407 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7408 size_server_dn_1 = ndr_get_array_size(ndr, &r->server_dn);
7409 length_server_dn_1 = ndr_get_array_length(ndr, &r->server_dn);
7410 if (length_server_dn_1 > size_server_dn_1) {
7411 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
7413 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
7414 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
7415 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7418 return NDR_ERR_SUCCESS;
7421 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7423 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7424 if (r == NULL) { ndr_print_null(ndr); return; }
7426 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7428 if (r->netbios_name) {
7429 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7432 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7435 ndr_print_string(ndr, "dns_name", r->dns_name);
7438 ndr_print_ptr(ndr, "site_name", r->site_name);
7441 ndr_print_string(ndr, "site_name", r->site_name);
7444 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7446 if (r->computer_dn) {
7447 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7450 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7453 ndr_print_string(ndr, "server_dn", r->server_dn);
7456 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7457 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7461 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7463 uint32_t cntr_array_1;
7464 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7465 if (ndr_flags & NDR_SCALARS) {
7466 NDR_CHECK(ndr_push_align(ndr, 5));
7467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7468 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7469 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7471 if (ndr_flags & NDR_BUFFERS) {
7473 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7474 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7475 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7477 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7478 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7482 return NDR_ERR_SUCCESS;
7485 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7487 uint32_t _ptr_array;
7488 uint32_t size_array_1 = 0;
7489 uint32_t cntr_array_1;
7490 TALLOC_CTX *_mem_save_array_0;
7491 TALLOC_CTX *_mem_save_array_1;
7492 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7493 if (ndr_flags & NDR_SCALARS) {
7494 NDR_CHECK(ndr_pull_align(ndr, 5));
7495 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7496 if (r->count > 10000) {
7497 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7499 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7501 NDR_PULL_ALLOC(ndr, r->array);
7505 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7507 if (ndr_flags & NDR_BUFFERS) {
7509 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7510 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7511 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7512 size_array_1 = ndr_get_array_size(ndr, &r->array);
7513 NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
7514 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7515 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7516 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
7517 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7519 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
7520 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7523 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7526 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7529 return NDR_ERR_SUCCESS;
7532 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7534 uint32_t cntr_array_1;
7535 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7536 if (r == NULL) { ndr_print_null(ndr); return; }
7538 ndr_print_uint32(ndr, "count", r->count);
7539 ndr_print_ptr(ndr, "array", r->array);
7542 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7544 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7545 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7553 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7555 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7556 if (ndr_flags & NDR_SCALARS) {
7557 NDR_CHECK(ndr_push_align(ndr, 5));
7558 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7559 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7560 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7561 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7562 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7563 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7564 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7565 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7567 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7568 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7569 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7570 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7571 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7572 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7574 if (ndr_flags & NDR_BUFFERS) {
7575 if (r->netbios_name) {
7576 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7577 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7578 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7579 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7582 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7583 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7584 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7585 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7588 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7589 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7590 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7591 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7594 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7595 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7596 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7597 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7599 if (r->computer_dn) {
7600 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7601 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7602 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7603 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7606 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7607 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7608 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7609 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7612 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7613 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7614 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7615 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7618 return NDR_ERR_SUCCESS;
7621 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7623 uint32_t _ptr_netbios_name;
7624 uint32_t size_netbios_name_1 = 0;
7625 uint32_t length_netbios_name_1 = 0;
7626 TALLOC_CTX *_mem_save_netbios_name_0;
7627 uint32_t _ptr_dns_name;
7628 uint32_t size_dns_name_1 = 0;
7629 uint32_t length_dns_name_1 = 0;
7630 TALLOC_CTX *_mem_save_dns_name_0;
7631 uint32_t _ptr_site_name;
7632 uint32_t size_site_name_1 = 0;
7633 uint32_t length_site_name_1 = 0;
7634 TALLOC_CTX *_mem_save_site_name_0;
7635 uint32_t _ptr_site_dn;
7636 uint32_t size_site_dn_1 = 0;
7637 uint32_t length_site_dn_1 = 0;
7638 TALLOC_CTX *_mem_save_site_dn_0;
7639 uint32_t _ptr_computer_dn;
7640 uint32_t size_computer_dn_1 = 0;
7641 uint32_t length_computer_dn_1 = 0;
7642 TALLOC_CTX *_mem_save_computer_dn_0;
7643 uint32_t _ptr_server_dn;
7644 uint32_t size_server_dn_1 = 0;
7645 uint32_t length_server_dn_1 = 0;
7646 TALLOC_CTX *_mem_save_server_dn_0;
7647 uint32_t _ptr_ntds_dn;
7648 uint32_t size_ntds_dn_1 = 0;
7649 uint32_t length_ntds_dn_1 = 0;
7650 TALLOC_CTX *_mem_save_ntds_dn_0;
7651 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7652 if (ndr_flags & NDR_SCALARS) {
7653 NDR_CHECK(ndr_pull_align(ndr, 5));
7654 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7655 if (_ptr_netbios_name) {
7656 NDR_PULL_ALLOC(ndr, r->netbios_name);
7658 r->netbios_name = NULL;
7660 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7661 if (_ptr_dns_name) {
7662 NDR_PULL_ALLOC(ndr, r->dns_name);
7666 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7667 if (_ptr_site_name) {
7668 NDR_PULL_ALLOC(ndr, r->site_name);
7670 r->site_name = NULL;
7672 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7674 NDR_PULL_ALLOC(ndr, r->site_dn);
7678 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7679 if (_ptr_computer_dn) {
7680 NDR_PULL_ALLOC(ndr, r->computer_dn);
7682 r->computer_dn = NULL;
7684 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7685 if (_ptr_server_dn) {
7686 NDR_PULL_ALLOC(ndr, r->server_dn);
7688 r->server_dn = NULL;
7690 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7692 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7696 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7697 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7698 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7699 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7700 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7701 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7702 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7703 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7705 if (ndr_flags & NDR_BUFFERS) {
7706 if (r->netbios_name) {
7707 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7708 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7709 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7710 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7711 size_netbios_name_1 = ndr_get_array_size(ndr, &r->netbios_name);
7712 length_netbios_name_1 = ndr_get_array_length(ndr, &r->netbios_name);
7713 if (length_netbios_name_1 > size_netbios_name_1) {
7714 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
7716 NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
7717 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
7718 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7721 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7722 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7723 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7724 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7725 size_dns_name_1 = ndr_get_array_size(ndr, &r->dns_name);
7726 length_dns_name_1 = ndr_get_array_length(ndr, &r->dns_name);
7727 if (length_dns_name_1 > size_dns_name_1) {
7728 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
7730 NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
7731 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
7732 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7735 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7736 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7737 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7738 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7739 size_site_name_1 = ndr_get_array_size(ndr, &r->site_name);
7740 length_site_name_1 = ndr_get_array_length(ndr, &r->site_name);
7741 if (length_site_name_1 > size_site_name_1) {
7742 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
7744 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
7745 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
7746 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7749 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7750 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7751 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7752 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7753 size_site_dn_1 = ndr_get_array_size(ndr, &r->site_dn);
7754 length_site_dn_1 = ndr_get_array_length(ndr, &r->site_dn);
7755 if (length_site_dn_1 > size_site_dn_1) {
7756 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_dn_1, length_site_dn_1);
7758 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_dn_1, sizeof(uint16_t)));
7759 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, length_site_dn_1, sizeof(uint16_t), CH_UTF16));
7760 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7762 if (r->computer_dn) {
7763 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7764 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7765 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7766 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7767 size_computer_dn_1 = ndr_get_array_size(ndr, &r->computer_dn);
7768 length_computer_dn_1 = ndr_get_array_length(ndr, &r->computer_dn);
7769 if (length_computer_dn_1 > size_computer_dn_1) {
7770 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_dn_1, length_computer_dn_1);
7772 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_dn_1, sizeof(uint16_t)));
7773 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, length_computer_dn_1, sizeof(uint16_t), CH_UTF16));
7774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7777 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7778 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7779 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7780 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7781 size_server_dn_1 = ndr_get_array_size(ndr, &r->server_dn);
7782 length_server_dn_1 = ndr_get_array_length(ndr, &r->server_dn);
7783 if (length_server_dn_1 > size_server_dn_1) {
7784 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
7786 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
7787 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
7788 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7791 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7792 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7793 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7794 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7795 size_ntds_dn_1 = ndr_get_array_size(ndr, &r->ntds_dn);
7796 length_ntds_dn_1 = ndr_get_array_length(ndr, &r->ntds_dn);
7797 if (length_ntds_dn_1 > size_ntds_dn_1) {
7798 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ntds_dn_1, length_ntds_dn_1);
7800 NDR_CHECK(ndr_check_string_terminator(ndr, length_ntds_dn_1, sizeof(uint16_t)));
7801 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, length_ntds_dn_1, sizeof(uint16_t), CH_UTF16));
7802 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7805 return NDR_ERR_SUCCESS;
7808 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7810 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7811 if (r == NULL) { ndr_print_null(ndr); return; }
7813 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7815 if (r->netbios_name) {
7816 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7819 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7822 ndr_print_string(ndr, "dns_name", r->dns_name);
7825 ndr_print_ptr(ndr, "site_name", r->site_name);
7828 ndr_print_string(ndr, "site_name", r->site_name);
7831 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7834 ndr_print_string(ndr, "site_dn", r->site_dn);
7837 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7839 if (r->computer_dn) {
7840 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7843 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7846 ndr_print_string(ndr, "server_dn", r->server_dn);
7849 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7852 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7855 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7856 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7857 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7858 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7859 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7860 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7861 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7865 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7867 uint32_t cntr_array_1;
7868 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7869 if (ndr_flags & NDR_SCALARS) {
7870 NDR_CHECK(ndr_push_align(ndr, 5));
7871 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7872 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7873 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7875 if (ndr_flags & NDR_BUFFERS) {
7877 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7878 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7879 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7881 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7882 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7886 return NDR_ERR_SUCCESS;
7889 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7891 uint32_t _ptr_array;
7892 uint32_t size_array_1 = 0;
7893 uint32_t cntr_array_1;
7894 TALLOC_CTX *_mem_save_array_0;
7895 TALLOC_CTX *_mem_save_array_1;
7896 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
7897 if (ndr_flags & NDR_SCALARS) {
7898 NDR_CHECK(ndr_pull_align(ndr, 5));
7899 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7900 if (r->count > 10000) {
7901 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7903 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7905 NDR_PULL_ALLOC(ndr, r->array);
7909 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7911 if (ndr_flags & NDR_BUFFERS) {
7913 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7914 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7915 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7916 size_array_1 = ndr_get_array_size(ndr, &r->array);
7917 NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
7918 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7919 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7920 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
7921 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7923 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
7924 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7927 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7930 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7933 return NDR_ERR_SUCCESS;
7936 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7938 uint32_t cntr_array_1;
7939 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7940 if (r == NULL) { ndr_print_null(ndr); return; }
7942 ndr_print_uint32(ndr, "count", r->count);
7943 ndr_print_ptr(ndr, "array", r->array);
7946 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7948 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7949 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7957 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7959 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
7960 if (ndr_flags & NDR_SCALARS) {
7961 NDR_CHECK(ndr_push_align(ndr, 5));
7962 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7963 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7964 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7965 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7966 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7967 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7968 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7969 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7970 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7973 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7974 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7975 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7976 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7977 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7979 if (ndr_flags & NDR_BUFFERS) {
7980 if (r->netbios_name) {
7981 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7982 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7983 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7984 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7987 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7988 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7989 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7990 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7993 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7994 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7995 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7996 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7999 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
8000 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8001 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
8002 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8004 if (r->computer_dn) {
8005 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
8006 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8007 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
8008 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8011 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
8012 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8013 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
8014 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8017 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
8018 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8019 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
8020 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8023 return NDR_ERR_SUCCESS;
8026 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
8028 uint32_t _ptr_netbios_name;
8029 uint32_t size_netbios_name_1 = 0;
8030 uint32_t length_netbios_name_1 = 0;
8031 TALLOC_CTX *_mem_save_netbios_name_0;
8032 uint32_t _ptr_dns_name;
8033 uint32_t size_dns_name_1 = 0;
8034 uint32_t length_dns_name_1 = 0;
8035 TALLOC_CTX *_mem_save_dns_name_0;
8036 uint32_t _ptr_site_name;
8037 uint32_t size_site_name_1 = 0;
8038 uint32_t length_site_name_1 = 0;
8039 TALLOC_CTX *_mem_save_site_name_0;
8040 uint32_t _ptr_site_dn;
8041 uint32_t size_site_dn_1 = 0;
8042 uint32_t length_site_dn_1 = 0;
8043 TALLOC_CTX *_mem_save_site_dn_0;
8044 uint32_t _ptr_computer_dn;
8045 uint32_t size_computer_dn_1 = 0;
8046 uint32_t length_computer_dn_1 = 0;
8047 TALLOC_CTX *_mem_save_computer_dn_0;
8048 uint32_t _ptr_server_dn;
8049 uint32_t size_server_dn_1 = 0;
8050 uint32_t length_server_dn_1 = 0;
8051 TALLOC_CTX *_mem_save_server_dn_0;
8052 uint32_t _ptr_ntds_dn;
8053 uint32_t size_ntds_dn_1 = 0;
8054 uint32_t length_ntds_dn_1 = 0;
8055 TALLOC_CTX *_mem_save_ntds_dn_0;
8056 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8057 if (ndr_flags & NDR_SCALARS) {
8058 NDR_CHECK(ndr_pull_align(ndr, 5));
8059 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
8060 if (_ptr_netbios_name) {
8061 NDR_PULL_ALLOC(ndr, r->netbios_name);
8063 r->netbios_name = NULL;
8065 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
8066 if (_ptr_dns_name) {
8067 NDR_PULL_ALLOC(ndr, r->dns_name);
8071 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
8072 if (_ptr_site_name) {
8073 NDR_PULL_ALLOC(ndr, r->site_name);
8075 r->site_name = NULL;
8077 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
8079 NDR_PULL_ALLOC(ndr, r->site_dn);
8083 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
8084 if (_ptr_computer_dn) {
8085 NDR_PULL_ALLOC(ndr, r->computer_dn);
8087 r->computer_dn = NULL;
8089 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
8090 if (_ptr_server_dn) {
8091 NDR_PULL_ALLOC(ndr, r->server_dn);
8093 r->server_dn = NULL;
8095 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
8097 NDR_PULL_ALLOC(ndr, r->ntds_dn);
8101 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
8102 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
8103 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
8104 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
8105 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
8106 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
8107 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
8108 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
8109 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8111 if (ndr_flags & NDR_BUFFERS) {
8112 if (r->netbios_name) {
8113 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8114 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
8115 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
8116 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
8117 size_netbios_name_1 = ndr_get_array_size(ndr, &r->netbios_name);
8118 length_netbios_name_1 = ndr_get_array_length(ndr, &r->netbios_name);
8119 if (length_netbios_name_1 > size_netbios_name_1) {
8120 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
8122 NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
8123 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
8124 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
8127 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8128 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
8129 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
8130 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
8131 size_dns_name_1 = ndr_get_array_size(ndr, &r->dns_name);
8132 length_dns_name_1 = ndr_get_array_length(ndr, &r->dns_name);
8133 if (length_dns_name_1 > size_dns_name_1) {
8134 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
8136 NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
8137 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
8138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
8141 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8142 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
8143 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
8144 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
8145 size_site_name_1 = ndr_get_array_size(ndr, &r->site_name);
8146 length_site_name_1 = ndr_get_array_length(ndr, &r->site_name);
8147 if (length_site_name_1 > size_site_name_1) {
8148 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
8150 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
8151 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
8152 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
8155 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8156 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
8157 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
8158 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
8159 size_site_dn_1 = ndr_get_array_size(ndr, &r->site_dn);
8160 length_site_dn_1 = ndr_get_array_length(ndr, &r->site_dn);
8161 if (length_site_dn_1 > size_site_dn_1) {
8162 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_dn_1, length_site_dn_1);
8164 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_dn_1, sizeof(uint16_t)));
8165 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, length_site_dn_1, sizeof(uint16_t), CH_UTF16));
8166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
8168 if (r->computer_dn) {
8169 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8170 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
8171 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
8172 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
8173 size_computer_dn_1 = ndr_get_array_size(ndr, &r->computer_dn);
8174 length_computer_dn_1 = ndr_get_array_length(ndr, &r->computer_dn);
8175 if (length_computer_dn_1 > size_computer_dn_1) {
8176 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_dn_1, length_computer_dn_1);
8178 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_dn_1, sizeof(uint16_t)));
8179 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, length_computer_dn_1, sizeof(uint16_t), CH_UTF16));
8180 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
8183 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8184 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
8185 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
8186 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
8187 size_server_dn_1 = ndr_get_array_size(ndr, &r->server_dn);
8188 length_server_dn_1 = ndr_get_array_length(ndr, &r->server_dn);
8189 if (length_server_dn_1 > size_server_dn_1) {
8190 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
8192 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
8193 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
8194 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
8197 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8198 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
8199 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
8200 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
8201 size_ntds_dn_1 = ndr_get_array_size(ndr, &r->ntds_dn);
8202 length_ntds_dn_1 = ndr_get_array_length(ndr, &r->ntds_dn);
8203 if (length_ntds_dn_1 > size_ntds_dn_1) {
8204 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ntds_dn_1, length_ntds_dn_1);
8206 NDR_CHECK(ndr_check_string_terminator(ndr, length_ntds_dn_1, sizeof(uint16_t)));
8207 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, length_ntds_dn_1, sizeof(uint16_t), CH_UTF16));
8208 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
8211 return NDR_ERR_SUCCESS;
8214 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
8216 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
8217 if (r == NULL) { ndr_print_null(ndr); return; }
8219 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
8221 if (r->netbios_name) {
8222 ndr_print_string(ndr, "netbios_name", r->netbios_name);
8225 ndr_print_ptr(ndr, "dns_name", r->dns_name);
8228 ndr_print_string(ndr, "dns_name", r->dns_name);
8231 ndr_print_ptr(ndr, "site_name", r->site_name);
8234 ndr_print_string(ndr, "site_name", r->site_name);
8237 ndr_print_ptr(ndr, "site_dn", r->site_dn);
8240 ndr_print_string(ndr, "site_dn", r->site_dn);
8243 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
8245 if (r->computer_dn) {
8246 ndr_print_string(ndr, "computer_dn", r->computer_dn);
8249 ndr_print_ptr(ndr, "server_dn", r->server_dn);
8252 ndr_print_string(ndr, "server_dn", r->server_dn);
8255 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
8258 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
8261 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
8262 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
8263 ndr_print_uint32(ndr, "is_gc", r->is_gc);
8264 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
8265 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
8266 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
8267 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
8268 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
8272 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
8274 uint32_t cntr_array_1;
8275 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8276 if (ndr_flags & NDR_SCALARS) {
8277 NDR_CHECK(ndr_push_align(ndr, 5));
8278 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8279 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8280 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8282 if (ndr_flags & NDR_BUFFERS) {
8284 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8285 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8286 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8288 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8289 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8293 return NDR_ERR_SUCCESS;
8296 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
8298 uint32_t _ptr_array;
8299 uint32_t size_array_1 = 0;
8300 uint32_t cntr_array_1;
8301 TALLOC_CTX *_mem_save_array_0;
8302 TALLOC_CTX *_mem_save_array_1;
8303 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8304 if (ndr_flags & NDR_SCALARS) {
8305 NDR_CHECK(ndr_pull_align(ndr, 5));
8306 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8307 if (r->count > 10000) {
8308 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8310 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8312 NDR_PULL_ALLOC(ndr, r->array);
8316 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8318 if (ndr_flags & NDR_BUFFERS) {
8320 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8321 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8322 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8323 size_array_1 = ndr_get_array_size(ndr, &r->array);
8324 NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
8325 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8326 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8327 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
8328 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8330 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
8331 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8333 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8337 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8340 return NDR_ERR_SUCCESS;
8343 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
8345 uint32_t cntr_array_1;
8346 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
8347 if (r == NULL) { ndr_print_null(ndr); return; }
8349 ndr_print_uint32(ndr, "count", r->count);
8350 ndr_print_ptr(ndr, "array", r->array);
8353 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8355 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8356 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
8364 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
8366 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8367 if (ndr_flags & NDR_SCALARS) {
8368 NDR_CHECK(ndr_push_align(ndr, 5));
8370 uint32_t _flags_save_ipv4address = ndr->flags;
8371 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8372 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
8373 ndr->flags = _flags_save_ipv4address;
8375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
8377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
8378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
8379 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
8380 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
8381 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8383 if (ndr_flags & NDR_BUFFERS) {
8384 if (r->client_account) {
8385 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8386 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8387 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8388 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8391 return NDR_ERR_SUCCESS;
8394 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
8396 uint32_t _ptr_client_account;
8397 uint32_t size_client_account_1 = 0;
8398 uint32_t length_client_account_1 = 0;
8399 TALLOC_CTX *_mem_save_client_account_0;
8400 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8401 if (ndr_flags & NDR_SCALARS) {
8402 NDR_CHECK(ndr_pull_align(ndr, 5));
8404 uint32_t _flags_save_ipv4address = ndr->flags;
8405 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8406 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
8407 ndr->flags = _flags_save_ipv4address;
8409 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8410 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
8411 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
8412 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
8413 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
8414 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
8415 if (_ptr_client_account) {
8416 NDR_PULL_ALLOC(ndr, r->client_account);
8418 r->client_account = NULL;
8420 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8422 if (ndr_flags & NDR_BUFFERS) {
8423 if (r->client_account) {
8424 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
8425 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
8426 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
8427 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
8428 size_client_account_1 = ndr_get_array_size(ndr, &r->client_account);
8429 length_client_account_1 = ndr_get_array_length(ndr, &r->client_account);
8430 if (length_client_account_1 > size_client_account_1) {
8431 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_account_1, length_client_account_1);
8433 NDR_CHECK(ndr_check_string_terminator(ndr, length_client_account_1, sizeof(uint16_t)));
8434 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, length_client_account_1, sizeof(uint16_t), CH_UTF16));
8435 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
8438 return NDR_ERR_SUCCESS;
8441 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
8443 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8444 if (r == NULL) { ndr_print_null(ndr); return; }
8446 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8447 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8448 ndr_print_uint32(ndr, "connection_time", r->connection_time);
8449 ndr_print_uint32(ndr, "unknown4", r->unknown4);
8450 ndr_print_uint32(ndr, "unknown5", r->unknown5);
8451 ndr_print_uint32(ndr, "unknown6", r->unknown6);
8452 ndr_print_ptr(ndr, "client_account", r->client_account);
8454 if (r->client_account) {
8455 ndr_print_string(ndr, "client_account", r->client_account);
8461 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8463 uint32_t cntr_array_1;
8464 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8465 if (ndr_flags & NDR_SCALARS) {
8466 NDR_CHECK(ndr_push_align(ndr, 5));
8467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8468 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8469 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8471 if (ndr_flags & NDR_BUFFERS) {
8473 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8474 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8475 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8477 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8478 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8482 return NDR_ERR_SUCCESS;
8485 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8487 uint32_t _ptr_array;
8488 uint32_t size_array_1 = 0;
8489 uint32_t cntr_array_1;
8490 TALLOC_CTX *_mem_save_array_0;
8491 TALLOC_CTX *_mem_save_array_1;
8492 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8493 if (ndr_flags & NDR_SCALARS) {
8494 NDR_CHECK(ndr_pull_align(ndr, 5));
8495 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8496 if (r->count > 10000) {
8497 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8499 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8501 NDR_PULL_ALLOC(ndr, r->array);
8505 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8507 if (ndr_flags & NDR_BUFFERS) {
8509 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8510 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8511 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8512 size_array_1 = ndr_get_array_size(ndr, &r->array);
8513 NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
8514 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8515 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8516 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
8517 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8519 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
8520 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8523 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8526 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8529 return NDR_ERR_SUCCESS;
8532 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8534 uint32_t cntr_array_1;
8535 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8536 if (r == NULL) { ndr_print_null(ndr); return; }
8538 ndr_print_uint32(ndr, "count", r->count);
8539 ndr_print_ptr(ndr, "array", r->array);
8542 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8544 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8545 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8553 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8555 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8556 if (ndr_flags & NDR_SCALARS) {
8557 uint32_t level = ndr_push_get_switch_value(ndr, r);
8558 NDR_CHECK(ndr_push_union_align(ndr, 5));
8559 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8560 NDR_CHECK(ndr_push_union_align(ndr, 5));
8562 case DRSUAPI_DC_INFO_CTR_1: {
8563 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8566 case DRSUAPI_DC_INFO_CTR_2: {
8567 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8570 case DRSUAPI_DC_INFO_CTR_3: {
8571 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8574 case DRSUAPI_DC_CONNECTION_CTR_01: {
8575 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8579 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8582 if (ndr_flags & NDR_BUFFERS) {
8583 uint32_t level = ndr_push_get_switch_value(ndr, r);
8585 case DRSUAPI_DC_INFO_CTR_1:
8586 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8589 case DRSUAPI_DC_INFO_CTR_2:
8590 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8593 case DRSUAPI_DC_INFO_CTR_3:
8594 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8597 case DRSUAPI_DC_CONNECTION_CTR_01:
8598 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8602 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8605 return NDR_ERR_SUCCESS;
8608 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8612 level = ndr_pull_get_switch_value(ndr, r);
8613 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8614 if (ndr_flags & NDR_SCALARS) {
8615 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8616 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8617 if (_level != level) {
8618 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8620 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8622 case DRSUAPI_DC_INFO_CTR_1: {
8623 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8626 case DRSUAPI_DC_INFO_CTR_2: {
8627 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8630 case DRSUAPI_DC_INFO_CTR_3: {
8631 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8634 case DRSUAPI_DC_CONNECTION_CTR_01: {
8635 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8639 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8642 if (ndr_flags & NDR_BUFFERS) {
8644 case DRSUAPI_DC_INFO_CTR_1:
8645 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8648 case DRSUAPI_DC_INFO_CTR_2:
8649 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8652 case DRSUAPI_DC_INFO_CTR_3:
8653 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8656 case DRSUAPI_DC_CONNECTION_CTR_01:
8657 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8661 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8664 return NDR_ERR_SUCCESS;
8667 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
8670 level = ndr_print_get_switch_value(ndr, r);
8671 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
8673 case DRSUAPI_DC_INFO_CTR_1:
8674 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
8677 case DRSUAPI_DC_INFO_CTR_2:
8678 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
8681 case DRSUAPI_DC_INFO_CTR_3:
8682 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
8685 case DRSUAPI_DC_CONNECTION_CTR_01:
8686 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
8690 ndr_print_bad_level(ndr, name, level);
8694 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
8696 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8697 if (ndr_flags & NDR_SCALARS) {
8698 NDR_CHECK(ndr_push_align(ndr, 5));
8699 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
8700 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8701 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8703 if (ndr_flags & NDR_BUFFERS) {
8704 if (r->next_object) {
8705 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8707 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8709 return NDR_ERR_SUCCESS;
8712 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8714 uint32_t _ptr_next_object;
8715 TALLOC_CTX *_mem_save_next_object_0;
8716 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8717 if (ndr_flags & NDR_SCALARS) {
8718 NDR_CHECK(ndr_pull_align(ndr, 5));
8719 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8720 if (_ptr_next_object) {
8721 NDR_PULL_ALLOC(ndr, r->next_object);
8723 r->next_object = NULL;
8725 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8726 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8728 if (ndr_flags & NDR_BUFFERS) {
8729 if (r->next_object) {
8730 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8731 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8732 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8733 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8735 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8737 return NDR_ERR_SUCCESS;
8740 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_DirErr(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_DirErr r)
8742 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
8743 return NDR_ERR_SUCCESS;
8746 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_DirErr(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_DirErr *r)
8749 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
8751 return NDR_ERR_SUCCESS;
8754 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_DirErr(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_DirErr r)
8756 const char *val = NULL;
8759 case DRSUAPI_DIRERR_OK: val = "DRSUAPI_DIRERR_OK"; break;
8760 case DRSUAPI_DIRERR_ATTRIBUTE: val = "DRSUAPI_DIRERR_ATTRIBUTE"; break;
8761 case DRSUAPI_DIRERR_NAME: val = "DRSUAPI_DIRERR_NAME"; break;
8762 case DRSUAPI_DIRERR_REFERRAL: val = "DRSUAPI_DIRERR_REFERRAL"; break;
8763 case DRSUAPI_DIRERR_SECURITY: val = "DRSUAPI_DIRERR_SECURITY"; break;
8764 case DRSUAPI_DIRERR_SERVICE: val = "DRSUAPI_DIRERR_SERVICE"; break;
8765 case DRSUAPI_DIRERR_UPDATE: val = "DRSUAPI_DIRERR_UPDATE"; break;
8766 case DRSUAPI_DIRERR_SYSTEM: val = "DRSUAPI_DIRERR_SYSTEM"; break;
8768 ndr_print_enum(ndr, name, "ENUM", val, r);
8771 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8773 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8774 if (ndr_flags & NDR_SCALARS) {
8775 NDR_CHECK(ndr_push_align(ndr, 5));
8776 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8777 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8779 if (ndr_flags & NDR_BUFFERS) {
8780 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8782 return NDR_ERR_SUCCESS;
8785 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8787 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8788 if (ndr_flags & NDR_SCALARS) {
8789 NDR_CHECK(ndr_pull_align(ndr, 5));
8790 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8791 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8793 if (ndr_flags & NDR_BUFFERS) {
8794 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8796 return NDR_ERR_SUCCESS;
8799 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8801 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8802 if (r == NULL) { ndr_print_null(ndr); return; }
8804 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8808 static enum ndr_err_code ndr_push_drsuapi_SecBufferType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_SecBufferType r)
8810 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
8811 return NDR_ERR_SUCCESS;
8814 static enum ndr_err_code ndr_pull_drsuapi_SecBufferType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_SecBufferType *r)
8817 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
8819 return NDR_ERR_SUCCESS;
8822 static enum ndr_err_code ndr_push_drsuapi_SecBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_SecBuffer *r)
8824 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8825 if (ndr_flags & NDR_SCALARS) {
8826 NDR_CHECK(ndr_push_align(ndr, 5));
8827 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_size));
8828 NDR_CHECK(ndr_push_drsuapi_SecBufferType(ndr, NDR_SCALARS, r->buf_type));
8829 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
8830 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8832 if (ndr_flags & NDR_BUFFERS) {
8834 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buf_size));
8835 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->buf_size));
8838 return NDR_ERR_SUCCESS;
8841 static enum ndr_err_code ndr_pull_drsuapi_SecBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_SecBuffer *r)
8843 uint32_t _ptr_buffer;
8844 uint32_t size_buffer_1 = 0;
8845 TALLOC_CTX *_mem_save_buffer_0;
8846 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8847 if (ndr_flags & NDR_SCALARS) {
8848 NDR_CHECK(ndr_pull_align(ndr, 5));
8849 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_size));
8850 if (r->buf_size > 10000) {
8851 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8853 NDR_CHECK(ndr_pull_drsuapi_SecBufferType(ndr, NDR_SCALARS, &r->buf_type));
8854 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
8856 NDR_PULL_ALLOC(ndr, r->buffer);
8860 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8862 if (ndr_flags & NDR_BUFFERS) {
8864 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
8865 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
8866 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
8867 size_buffer_1 = ndr_get_array_size(ndr, &r->buffer);
8868 NDR_PULL_ALLOC_N(ndr, r->buffer, size_buffer_1);
8869 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, size_buffer_1));
8870 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
8873 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->buf_size));
8876 return NDR_ERR_SUCCESS;
8879 _PUBLIC_ void ndr_print_drsuapi_SecBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_SecBuffer *r)
8881 ndr_print_struct(ndr, name, "drsuapi_SecBuffer");
8882 if (r == NULL) { ndr_print_null(ndr); return; }
8884 ndr_print_uint32(ndr, "buf_size", r->buf_size);
8885 ndr_print_drsuapi_SecBufferType(ndr, "buf_type", r->buf_type);
8886 ndr_print_ptr(ndr, "buffer", r->buffer);
8889 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->buf_size);
8895 static enum ndr_err_code ndr_push_drsuapi_SecBufferDesc(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_SecBufferDesc *r)
8897 uint32_t cntr_buffers_1;
8898 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8899 if (ndr_flags & NDR_SCALARS) {
8900 NDR_CHECK(ndr_push_align(ndr, 5));
8901 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8902 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buff_count));
8903 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffers));
8904 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8906 if (ndr_flags & NDR_BUFFERS) {
8908 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buff_count));
8909 for (cntr_buffers_1 = 0; cntr_buffers_1 < r->buff_count; cntr_buffers_1++) {
8910 NDR_CHECK(ndr_push_drsuapi_SecBuffer(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_1]));
8912 for (cntr_buffers_1 = 0; cntr_buffers_1 < r->buff_count; cntr_buffers_1++) {
8913 NDR_CHECK(ndr_push_drsuapi_SecBuffer(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_1]));
8917 return NDR_ERR_SUCCESS;
8920 static enum ndr_err_code ndr_pull_drsuapi_SecBufferDesc(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_SecBufferDesc *r)
8922 uint32_t _ptr_buffers;
8923 uint32_t size_buffers_1 = 0;
8924 uint32_t cntr_buffers_1;
8925 TALLOC_CTX *_mem_save_buffers_0;
8926 TALLOC_CTX *_mem_save_buffers_1;
8927 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
8928 if (ndr_flags & NDR_SCALARS) {
8929 NDR_CHECK(ndr_pull_align(ndr, 5));
8930 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
8931 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buff_count));
8932 if (r->buff_count > 10000) {
8933 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8935 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffers));
8937 NDR_PULL_ALLOC(ndr, r->buffers);
8941 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8943 if (ndr_flags & NDR_BUFFERS) {
8945 _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
8946 NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
8947 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffers));
8948 size_buffers_1 = ndr_get_array_size(ndr, &r->buffers);
8949 NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_1);
8950 _mem_save_buffers_1 = NDR_PULL_GET_MEM_CTX(ndr);
8951 NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
8952 for (cntr_buffers_1 = 0; cntr_buffers_1 < size_buffers_1; cntr_buffers_1++) {
8953 NDR_CHECK(ndr_pull_drsuapi_SecBuffer(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_1]));
8955 for (cntr_buffers_1 = 0; cntr_buffers_1 < size_buffers_1; cntr_buffers_1++) {
8956 NDR_CHECK(ndr_pull_drsuapi_SecBuffer(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_1]));
8958 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_1, 0);
8959 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
8962 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffers, r->buff_count));
8965 return NDR_ERR_SUCCESS;
8968 _PUBLIC_ void ndr_print_drsuapi_SecBufferDesc(struct ndr_print *ndr, const char *name, const struct drsuapi_SecBufferDesc *r)
8970 uint32_t cntr_buffers_1;
8971 ndr_print_struct(ndr, name, "drsuapi_SecBufferDesc");
8972 if (r == NULL) { ndr_print_null(ndr); return; }
8974 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->version);
8975 ndr_print_uint32(ndr, "buff_count", r->buff_count);
8976 ndr_print_ptr(ndr, "buffers", r->buffers);
8979 ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->buff_count);
8981 for (cntr_buffers_1=0;cntr_buffers_1<r->buff_count;cntr_buffers_1++) {
8982 ndr_print_drsuapi_SecBuffer(ndr, "buffers", &r->buffers[cntr_buffers_1]);
8990 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest3 *r)
8992 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
8993 if (ndr_flags & NDR_SCALARS) {
8994 NDR_CHECK(ndr_push_align(ndr, 5));
8995 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8996 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_creds));
8997 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8999 if (ndr_flags & NDR_BUFFERS) {
9000 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
9001 if (r->client_creds) {
9002 NDR_CHECK(ndr_push_drsuapi_SecBufferDesc(ndr, NDR_SCALARS|NDR_BUFFERS, r->client_creds));
9005 return NDR_ERR_SUCCESS;
9008 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest3 *r)
9010 uint32_t _ptr_client_creds;
9011 TALLOC_CTX *_mem_save_client_creds_0;
9012 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9013 if (ndr_flags & NDR_SCALARS) {
9014 NDR_CHECK(ndr_pull_align(ndr, 5));
9015 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
9016 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_creds));
9017 if (_ptr_client_creds) {
9018 NDR_PULL_ALLOC(ndr, r->client_creds);
9020 r->client_creds = NULL;
9022 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9024 if (ndr_flags & NDR_BUFFERS) {
9025 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
9026 if (r->client_creds) {
9027 _mem_save_client_creds_0 = NDR_PULL_GET_MEM_CTX(ndr);
9028 NDR_PULL_SET_MEM_CTX(ndr, r->client_creds, 0);
9029 NDR_CHECK(ndr_pull_drsuapi_SecBufferDesc(ndr, NDR_SCALARS|NDR_BUFFERS, r->client_creds));
9030 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_creds_0, 0);
9033 return NDR_ERR_SUCCESS;
9036 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest3 *r)
9038 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest3");
9039 if (r == NULL) { ndr_print_null(ndr); return; }
9041 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
9042 ndr_print_ptr(ndr, "client_creds", r->client_creds);
9044 if (r->client_creds) {
9045 ndr_print_drsuapi_SecBufferDesc(ndr, "client_creds", r->client_creds);
9051 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
9053 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9054 if (ndr_flags & NDR_SCALARS) {
9055 uint32_t level = ndr_push_get_switch_value(ndr, r);
9056 NDR_CHECK(ndr_push_union_align(ndr, 5));
9057 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9058 NDR_CHECK(ndr_push_union_align(ndr, 5));
9061 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
9065 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest3(ndr, NDR_SCALARS, &r->req3));
9069 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9072 if (ndr_flags & NDR_BUFFERS) {
9073 uint32_t level = ndr_push_get_switch_value(ndr, r);
9076 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
9080 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest3(ndr, NDR_BUFFERS, &r->req3));
9084 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9087 return NDR_ERR_SUCCESS;
9090 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
9094 level = ndr_pull_get_switch_value(ndr, r);
9095 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9096 if (ndr_flags & NDR_SCALARS) {
9097 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9098 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9099 if (_level != level) {
9100 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9102 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9105 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
9109 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest3(ndr, NDR_SCALARS, &r->req3));
9113 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9116 if (ndr_flags & NDR_BUFFERS) {
9119 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
9123 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest3(ndr, NDR_BUFFERS, &r->req3));
9127 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9130 return NDR_ERR_SUCCESS;
9133 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
9136 level = ndr_print_get_switch_value(ndr, r);
9137 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
9140 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
9144 ndr_print_drsuapi_DsAddEntryRequest3(ndr, "req3", &r->req3);
9148 ndr_print_bad_level(ndr, name, level);
9152 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
9154 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9155 if (ndr_flags & NDR_SCALARS) {
9156 NDR_CHECK(ndr_push_align(ndr, 4));
9157 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
9158 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
9159 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
9160 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
9161 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9163 if (ndr_flags & NDR_BUFFERS) {
9165 return NDR_ERR_SUCCESS;
9168 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
9170 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9171 if (ndr_flags & NDR_SCALARS) {
9172 NDR_CHECK(ndr_pull_align(ndr, 4));
9173 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
9174 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
9175 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
9176 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
9177 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9179 if (ndr_flags & NDR_BUFFERS) {
9181 return NDR_ERR_SUCCESS;
9184 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
9186 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
9187 if (r == NULL) { ndr_print_null(ndr); return; }
9189 ndr_print_uint32(ndr, "dsid", r->dsid);
9190 ndr_print_WERROR(ndr, "extended_err", r->extended_err);
9191 ndr_print_uint32(ndr, "extended_data", r->extended_data);
9192 ndr_print_uint16(ndr, "problem", r->problem);
9196 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_AttrErr_V1 *r)
9198 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9199 if (ndr_flags & NDR_SCALARS) {
9200 NDR_CHECK(ndr_push_align(ndr, 5));
9201 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
9202 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
9203 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
9204 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
9205 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
9206 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_val_returned));
9207 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->attr_val));
9208 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9210 if (ndr_flags & NDR_BUFFERS) {
9211 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->attr_val));
9213 return NDR_ERR_SUCCESS;
9216 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_AttrErr_V1 *r)
9218 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9219 if (ndr_flags & NDR_SCALARS) {
9220 NDR_CHECK(ndr_pull_align(ndr, 5));
9221 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
9222 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
9223 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
9224 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
9225 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
9226 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_val_returned));
9227 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->attr_val));
9228 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9230 if (ndr_flags & NDR_BUFFERS) {
9231 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->attr_val));
9233 return NDR_ERR_SUCCESS;
9236 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_AttrErr_V1 *r)
9238 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_AttrErr_V1");
9239 if (r == NULL) { ndr_print_null(ndr); return; }
9241 ndr_print_uint32(ndr, "dsid", r->dsid);
9242 ndr_print_WERROR(ndr, "extended_err", r->extended_err);
9243 ndr_print_uint32(ndr, "extended_data", r->extended_data);
9244 ndr_print_uint16(ndr, "problem", r->problem);
9245 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
9246 ndr_print_uint32(ndr, "is_val_returned", r->is_val_returned);
9247 ndr_print_drsuapi_DsAttributeValue(ndr, "attr_val", &r->attr_val);
9251 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_AttrErrListItem_V1 *r)
9253 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9254 if (ndr_flags & NDR_SCALARS) {
9255 NDR_CHECK(ndr_push_align(ndr, 5));
9256 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
9257 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_SCALARS, &r->err_data));
9258 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9260 if (ndr_flags & NDR_BUFFERS) {
9262 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9264 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_BUFFERS, &r->err_data));
9266 return NDR_ERR_SUCCESS;
9269 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_AttrErrListItem_V1 *r)
9272 TALLOC_CTX *_mem_save_next_0;
9273 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9274 if (ndr_flags & NDR_SCALARS) {
9275 NDR_CHECK(ndr_pull_align(ndr, 5));
9276 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
9278 NDR_PULL_ALLOC(ndr, r->next);
9282 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_SCALARS, &r->err_data));
9283 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9285 if (ndr_flags & NDR_BUFFERS) {
9287 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
9288 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
9289 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9290 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
9292 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_BUFFERS, &r->err_data));
9294 return NDR_ERR_SUCCESS;
9297 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r)
9299 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9300 if (ndr_flags & NDR_SCALARS) {
9301 NDR_CHECK(ndr_push_align(ndr, 5));
9302 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9303 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9304 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS, &r->first));
9305 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9307 if (ndr_flags & NDR_BUFFERS) {
9309 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9311 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_BUFFERS, &r->first));
9313 return NDR_ERR_SUCCESS;
9316 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r)
9319 TALLOC_CTX *_mem_save_id_0;
9320 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9321 if (ndr_flags & NDR_SCALARS) {
9322 NDR_CHECK(ndr_pull_align(ndr, 5));
9323 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9325 NDR_PULL_ALLOC(ndr, r->id);
9329 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9330 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS, &r->first));
9331 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9333 if (ndr_flags & NDR_BUFFERS) {
9335 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9336 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9337 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9340 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_BUFFERS, &r->first));
9342 return NDR_ERR_SUCCESS;
9345 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r)
9347 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Attr_V1");
9348 if (r == NULL) { ndr_print_null(ndr); return; }
9350 ndr_print_ptr(ndr, "id", r->id);
9353 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9356 ndr_print_uint32(ndr, "count", r->count);
9357 ndr_print_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, "first", &r->first);
9361 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r)
9363 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9364 if (ndr_flags & NDR_SCALARS) {
9365 NDR_CHECK(ndr_push_align(ndr, 5));
9366 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
9367 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
9368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
9369 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
9370 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id_matched));
9371 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9373 if (ndr_flags & NDR_BUFFERS) {
9374 if (r->id_matched) {
9375 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_matched));
9378 return NDR_ERR_SUCCESS;
9381 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r)
9383 uint32_t _ptr_id_matched;
9384 TALLOC_CTX *_mem_save_id_matched_0;
9385 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9386 if (ndr_flags & NDR_SCALARS) {
9387 NDR_CHECK(ndr_pull_align(ndr, 5));
9388 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
9389 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
9390 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
9391 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
9392 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id_matched));
9393 if (_ptr_id_matched) {
9394 NDR_PULL_ALLOC(ndr, r->id_matched);
9396 r->id_matched = NULL;
9398 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9400 if (ndr_flags & NDR_BUFFERS) {
9401 if (r->id_matched) {
9402 _mem_save_id_matched_0 = NDR_PULL_GET_MEM_CTX(ndr);
9403 NDR_PULL_SET_MEM_CTX(ndr, r->id_matched, 0);
9404 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_matched));
9405 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_matched_0, 0);
9408 return NDR_ERR_SUCCESS;
9411 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r)
9413 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Name_V1");
9414 if (r == NULL) { ndr_print_null(ndr); return; }
9416 ndr_print_uint32(ndr, "dsid", r->dsid);
9417 ndr_print_WERROR(ndr, "extended_err", r->extended_err);
9418 ndr_print_uint32(ndr, "extended_data", r->extended_data);
9419 ndr_print_uint16(ndr, "problem", r->problem);
9420 ndr_print_ptr(ndr, "id_matched", r->id_matched);
9422 if (r->id_matched) {
9423 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id_matched", r->id_matched);
9429 static enum ndr_err_code ndr_push_drsuapi_NameResOp_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_NameResOp_V1 *r)
9431 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9432 if (ndr_flags & NDR_SCALARS) {
9433 NDR_CHECK(ndr_push_align(ndr, 2));
9434 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 83));
9435 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0));
9436 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
9437 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
9439 if (ndr_flags & NDR_BUFFERS) {
9441 return NDR_ERR_SUCCESS;
9444 static enum ndr_err_code ndr_pull_drsuapi_NameResOp_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_NameResOp_V1 *r)
9446 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9447 if (ndr_flags & NDR_SCALARS) {
9448 NDR_CHECK(ndr_pull_align(ndr, 2));
9449 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->name_res));
9450 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unused_pad));
9451 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->next_rdn));
9452 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
9454 if (ndr_flags & NDR_BUFFERS) {
9456 return NDR_ERR_SUCCESS;
9459 _PUBLIC_ void ndr_print_drsuapi_NameResOp_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_NameResOp_V1 *r)
9461 ndr_print_struct(ndr, name, "drsuapi_NameResOp_V1");
9462 if (r == NULL) { ndr_print_null(ndr); return; }
9464 ndr_print_uint8(ndr, "name_res", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?83:r->name_res);
9465 ndr_print_uint8(ndr, "unused_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unused_pad);
9466 ndr_print_uint16(ndr, "next_rdn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->next_rdn);
9470 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_RefType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_RefType r)
9472 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
9473 return NDR_ERR_SUCCESS;
9476 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_RefType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_RefType *r)
9479 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
9481 return NDR_ERR_SUCCESS;
9484 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_RefType(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_RefType r)
9486 const char *val = NULL;
9489 case DRSUAPI_CH_REFTYPE_SUPERIOR: val = "DRSUAPI_CH_REFTYPE_SUPERIOR"; break;
9490 case DRSUAPI_CH_REFTYPE_SUBORDINATE: val = "DRSUAPI_CH_REFTYPE_SUBORDINATE"; break;
9491 case DRSUAPI_CH_REFTYPE_NSSR: val = "DRSUAPI_CH_REFTYPE_NSSR"; break;
9492 case DRSUAPI_CH_REFTYPE_CROSS: val = "DRSUAPI_CH_REFTYPE_CROSS"; break;
9494 ndr_print_enum(ndr, name, "ENUM", val, r);
9497 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ChoiceType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_ChoiceType r)
9499 NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
9500 return NDR_ERR_SUCCESS;
9503 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ChoiceType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_ChoiceType *r)
9506 NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
9508 return NDR_ERR_SUCCESS;
9511 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ChoiceType(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_ChoiceType r)
9513 const char *val = NULL;
9516 case DRSUAPI_SE_CHOICE_BASE_ONLY: val = "DRSUAPI_SE_CHOICE_BASE_ONLY"; break;
9517 case DRSUAPI_SE_CHOICE_IMMED_CHLDRN: val = "DRSUAPI_SE_CHOICE_IMMED_CHLDRN"; break;
9518 case DRSUAPI_SE_CHOICE_WHOLE_SUBTREE: val = "DRSUAPI_SE_CHOICE_WHOLE_SUBTREE"; break;
9520 ndr_print_enum(ndr, name, "ENUM", val, r);
9523 static enum ndr_err_code ndr_push_drsuapi_DsaAddressListItem_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsaAddressListItem_V1 *r)
9525 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9526 if (ndr_flags & NDR_SCALARS) {
9527 NDR_CHECK(ndr_push_align(ndr, 5));
9528 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
9529 NDR_CHECK(ndr_push_unique_ptr(ndr, r->address));
9530 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9532 if (ndr_flags & NDR_BUFFERS) {
9534 NDR_CHECK(ndr_push_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9537 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->address));
9540 return NDR_ERR_SUCCESS;
9543 static enum ndr_err_code ndr_pull_drsuapi_DsaAddressListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsaAddressListItem_V1 *r)
9546 TALLOC_CTX *_mem_save_next_0;
9547 uint32_t _ptr_address;
9548 TALLOC_CTX *_mem_save_address_0;
9549 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9550 if (ndr_flags & NDR_SCALARS) {
9551 NDR_CHECK(ndr_pull_align(ndr, 5));
9552 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
9554 NDR_PULL_ALLOC(ndr, r->next);
9558 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_address));
9560 NDR_PULL_ALLOC(ndr, r->address);
9564 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9566 if (ndr_flags & NDR_BUFFERS) {
9568 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
9569 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
9570 NDR_CHECK(ndr_pull_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9571 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
9574 _mem_save_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
9575 NDR_PULL_SET_MEM_CTX(ndr, r->address, 0);
9576 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->address));
9577 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_address_0, 0);
9580 return NDR_ERR_SUCCESS;
9583 _PUBLIC_ void ndr_print_drsuapi_DsaAddressListItem_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsaAddressListItem_V1 *r)
9585 ndr_print_struct(ndr, name, "drsuapi_DsaAddressListItem_V1");
9586 if (r == NULL) { ndr_print_null(ndr); return; }
9588 ndr_print_ptr(ndr, "next", r->next);
9591 ndr_print_drsuapi_DsaAddressListItem_V1(ndr, "next", r->next);
9594 ndr_print_ptr(ndr, "address", r->address);
9597 ndr_print_lsa_String(ndr, "address", r->address);
9603 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_RefErrListItem_V1 *r)
9605 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9606 if (ndr_flags & NDR_SCALARS) {
9607 NDR_CHECK(ndr_push_align(ndr, 5));
9608 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id_target));
9609 NDR_CHECK(ndr_push_drsuapi_NameResOp_V1(ndr, NDR_SCALARS, &r->op_state));
9610 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
9611 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
9612 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefType(ndr, NDR_SCALARS, r->ref_type));
9613 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->addr_list_count));
9614 NDR_CHECK(ndr_push_unique_ptr(ndr, r->addr_list));
9615 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
9616 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_choice_set));
9617 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ChoiceType(ndr, NDR_SCALARS, r->choice));
9618 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9620 if (ndr_flags & NDR_BUFFERS) {
9622 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_target));
9625 NDR_CHECK(ndr_push_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr_list));
9628 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9631 return NDR_ERR_SUCCESS;
9634 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_RefErrListItem_V1 *r)
9636 uint32_t _ptr_id_target;
9637 TALLOC_CTX *_mem_save_id_target_0;
9638 uint32_t _ptr_addr_list;
9639 TALLOC_CTX *_mem_save_addr_list_0;
9641 TALLOC_CTX *_mem_save_next_0;
9642 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9643 if (ndr_flags & NDR_SCALARS) {
9644 NDR_CHECK(ndr_pull_align(ndr, 5));
9645 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id_target));
9646 if (_ptr_id_target) {
9647 NDR_PULL_ALLOC(ndr, r->id_target);
9649 r->id_target = NULL;
9651 NDR_CHECK(ndr_pull_drsuapi_NameResOp_V1(ndr, NDR_SCALARS, &r->op_state));
9652 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->rdn_alias));
9653 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->rdn_internal));
9654 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefType(ndr, NDR_SCALARS, &r->ref_type));
9655 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->addr_list_count));
9656 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_addr_list));
9657 if (_ptr_addr_list) {
9658 NDR_PULL_ALLOC(ndr, r->addr_list);
9660 r->addr_list = NULL;
9662 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
9664 NDR_PULL_ALLOC(ndr, r->next);
9668 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_choice_set));
9669 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ChoiceType(ndr, NDR_SCALARS, &r->choice));
9670 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9672 if (ndr_flags & NDR_BUFFERS) {
9674 _mem_save_id_target_0 = NDR_PULL_GET_MEM_CTX(ndr);
9675 NDR_PULL_SET_MEM_CTX(ndr, r->id_target, 0);
9676 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_target));
9677 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_target_0, 0);
9680 _mem_save_addr_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
9681 NDR_PULL_SET_MEM_CTX(ndr, r->addr_list, 0);
9682 NDR_CHECK(ndr_pull_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr_list));
9683 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addr_list_0, 0);
9686 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
9687 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
9688 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
9689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
9692 return NDR_ERR_SUCCESS;
9695 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_RefErrListItem_V1 *r)
9697 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_RefErrListItem_V1");
9698 if (r == NULL) { ndr_print_null(ndr); return; }
9700 ndr_print_ptr(ndr, "id_target", r->id_target);
9703 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id_target", r->id_target);
9706 ndr_print_drsuapi_NameResOp_V1(ndr, "op_state", &r->op_state);
9707 ndr_print_uint16(ndr, "rdn_alias", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->rdn_alias);
9708 ndr_print_uint16(ndr, "rdn_internal", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->rdn_internal);
9709 ndr_print_drsuapi_DsAddEntry_RefType(ndr, "ref_type", r->ref_type);
9710 ndr_print_uint16(ndr, "addr_list_count", r->addr_list_count);
9711 ndr_print_ptr(ndr, "addr_list", r->addr_list);
9714 ndr_print_drsuapi_DsaAddressListItem_V1(ndr, "addr_list", r->addr_list);
9717 ndr_print_ptr(ndr, "next", r->next);
9720 ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, "next", r->next);
9723 ndr_print_uint32(ndr, "is_choice_set", r->is_choice_set);
9724 ndr_print_drsuapi_DsAddEntry_ChoiceType(ndr, "choice", r->choice);
9728 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r)
9730 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9731 if (ndr_flags & NDR_SCALARS) {
9732 NDR_CHECK(ndr_push_align(ndr, 5));
9733 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
9734 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
9735 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
9736 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS, &r->refer));
9737 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9739 if (ndr_flags & NDR_BUFFERS) {
9740 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_BUFFERS, &r->refer));
9742 return NDR_ERR_SUCCESS;
9745 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r)
9747 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9748 if (ndr_flags & NDR_SCALARS) {
9749 NDR_CHECK(ndr_pull_align(ndr, 5));
9750 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
9751 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
9752 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
9753 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS, &r->refer));
9754 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9756 if (ndr_flags & NDR_BUFFERS) {
9757 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_BUFFERS, &r->refer));
9759 return NDR_ERR_SUCCESS;
9762 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r)
9764 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Referr_V1");
9765 if (r == NULL) { ndr_print_null(ndr); return; }
9767 ndr_print_uint32(ndr, "dsid", r->dsid);
9768 ndr_print_WERROR(ndr, "extended_err", r->extended_err);
9769 ndr_print_uint32(ndr, "extended_data", r->extended_data);
9770 ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, "refer", &r->refer);
9774 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
9776 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9777 if (ndr_flags & NDR_SCALARS) {
9778 uint32_t level = ndr_push_get_switch_value(ndr, r);
9779 NDR_CHECK(ndr_push_union_align(ndr, 5));
9780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9781 NDR_CHECK(ndr_push_union_align(ndr, 5));
9784 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_SCALARS, &r->attr_err));
9788 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_SCALARS, &r->name_err));
9792 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_SCALARS, &r->referral_err));
9796 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->security_err));
9800 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->service_err));
9804 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->update_err));
9808 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->system_err));
9812 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9815 if (ndr_flags & NDR_BUFFERS) {
9816 uint32_t level = ndr_push_get_switch_value(ndr, r);
9819 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_BUFFERS, &r->attr_err));
9823 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_BUFFERS, &r->name_err));
9827 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_BUFFERS, &r->referral_err));
9843 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9846 return NDR_ERR_SUCCESS;
9849 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
9853 level = ndr_pull_get_switch_value(ndr, r);
9854 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9855 if (ndr_flags & NDR_SCALARS) {
9856 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9857 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9858 if (_level != level) {
9859 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9861 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9864 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_SCALARS, &r->attr_err));
9868 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_SCALARS, &r->name_err));
9872 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_SCALARS, &r->referral_err));
9876 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->security_err));
9880 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->service_err));
9884 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->update_err));
9888 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->system_err));
9892 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9895 if (ndr_flags & NDR_BUFFERS) {
9898 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_BUFFERS, &r->attr_err));
9902 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_BUFFERS, &r->name_err));
9906 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_BUFFERS, &r->referral_err));
9922 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9925 return NDR_ERR_SUCCESS;
9928 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
9931 level = ndr_print_get_switch_value(ndr, r);
9932 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
9935 ndr_print_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, "attr_err", &r->attr_err);
9939 ndr_print_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, "name_err", &r->name_err);
9943 ndr_print_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, "referral_err", &r->referral_err);
9947 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "security_err", &r->security_err);
9951 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "service_err", &r->service_err);
9955 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "update_err", &r->update_err);
9959 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "system_err", &r->system_err);
9963 ndr_print_bad_level(ndr, name, level);
9967 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ErrData_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_ErrData_V1 *r)
9969 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
9970 if (ndr_flags & NDR_SCALARS) {
9971 NDR_CHECK(ndr_push_align(ndr, 5));
9972 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
9973 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, r->dir_err));
9974 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
9975 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9977 if (ndr_flags & NDR_BUFFERS) {
9979 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->dir_err));
9980 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
9983 return NDR_ERR_SUCCESS;
9986 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ErrData_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_ErrData_V1 *r)
9989 TALLOC_CTX *_mem_save_info_0;
9990 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
9991 if (ndr_flags & NDR_SCALARS) {
9992 NDR_CHECK(ndr_pull_align(ndr, 5));
9993 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
9994 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, &r->dir_err));
9995 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9997 NDR_PULL_ALLOC(ndr, r->info);
10001 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10003 if (ndr_flags & NDR_BUFFERS) {
10005 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10006 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
10007 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->dir_err));
10008 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
10009 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
10012 return NDR_ERR_SUCCESS;
10015 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ErrData_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_ErrData_V1 *r)
10017 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_ErrData_V1");
10018 if (r == NULL) { ndr_print_null(ndr); return; }
10020 ndr_print_WERROR(ndr, "status", r->status);
10021 ndr_print_drsuapi_DsAddEntry_DirErr(ndr, "dir_err", r->dir_err);
10022 ndr_print_ptr(ndr, "info", r->info);
10025 ndr_print_set_switch_value(ndr, r->info, r->dir_err);
10026 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
10032 static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ErrData(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntry_ErrData *r)
10034 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10035 if (ndr_flags & NDR_SCALARS) {
10036 uint32_t level = ndr_push_get_switch_value(ndr, r);
10037 NDR_CHECK(ndr_push_union_align(ndr, 5));
10038 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
10039 NDR_CHECK(ndr_push_union_align(ndr, 5));
10042 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_SCALARS, &r->v1));
10046 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10049 if (ndr_flags & NDR_BUFFERS) {
10050 uint32_t level = ndr_push_get_switch_value(ndr, r);
10053 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_BUFFERS, &r->v1));
10057 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10060 return NDR_ERR_SUCCESS;
10063 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ErrData(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntry_ErrData *r)
10067 level = ndr_pull_get_switch_value(ndr, r);
10068 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10069 if (ndr_flags & NDR_SCALARS) {
10070 NDR_CHECK(ndr_pull_union_align(ndr, 5));
10071 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
10072 if (_level != level) {
10073 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10075 NDR_CHECK(ndr_pull_union_align(ndr, 5));
10078 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_SCALARS, &r->v1));
10082 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10085 if (ndr_flags & NDR_BUFFERS) {
10088 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_BUFFERS, &r->v1));
10092 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10095 return NDR_ERR_SUCCESS;
10098 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ErrData(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntry_ErrData *r)
10101 level = ndr_print_get_switch_value(ndr, r);
10102 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntry_ErrData");
10105 ndr_print_drsuapi_DsAddEntry_ErrData_V1(ndr, "v1", &r->v1);
10109 ndr_print_bad_level(ndr, name, level);
10113 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
10115 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10116 if (ndr_flags & NDR_SCALARS) {
10117 NDR_CHECK(ndr_push_align(ndr, 4));
10118 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
10119 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
10120 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
10122 if (ndr_flags & NDR_BUFFERS) {
10123 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
10125 return NDR_ERR_SUCCESS;
10128 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
10130 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10131 if (ndr_flags & NDR_SCALARS) {
10132 NDR_CHECK(ndr_pull_align(ndr, 4));
10133 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
10134 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
10135 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
10137 if (ndr_flags & NDR_BUFFERS) {
10138 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
10140 return NDR_ERR_SUCCESS;
10143 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
10145 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
10146 if (r == NULL) { ndr_print_null(ndr); return; }
10148 ndr_print_GUID(ndr, "guid", &r->guid);
10149 ndr_print_dom_sid28(ndr, "sid", &r->sid);
10153 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
10155 uint32_t cntr_objects_1;
10156 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10157 if (ndr_flags & NDR_SCALARS) {
10158 NDR_CHECK(ndr_push_align(ndr, 5));
10159 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
10160 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, r->dir_err));
10161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid));
10162 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err));
10163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data));
10164 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem));
10165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10166 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
10167 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10169 if (ndr_flags & NDR_BUFFERS) {
10171 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
10174 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10175 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
10176 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
10178 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
10179 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
10183 return NDR_ERR_SUCCESS;
10186 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
10189 TALLOC_CTX *_mem_save_id_0;
10190 uint32_t _ptr_objects;
10191 uint32_t size_objects_1 = 0;
10192 uint32_t cntr_objects_1;
10193 TALLOC_CTX *_mem_save_objects_0;
10194 TALLOC_CTX *_mem_save_objects_1;
10195 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10196 if (ndr_flags & NDR_SCALARS) {
10197 NDR_CHECK(ndr_pull_align(ndr, 5));
10198 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
10200 NDR_PULL_ALLOC(ndr, r->id);
10204 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, &r->dir_err));
10205 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid));
10206 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err));
10207 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data));
10208 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem));
10209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10210 if (r->count > 10000) {
10211 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
10213 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
10214 if (_ptr_objects) {
10215 NDR_PULL_ALLOC(ndr, r->objects);
10219 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10221 if (ndr_flags & NDR_BUFFERS) {
10223 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
10224 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
10225 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
10226 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
10229 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
10230 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
10231 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
10232 size_objects_1 = ndr_get_array_size(ndr, &r->objects);
10233 NDR_PULL_ALLOC_N(ndr, r->objects, size_objects_1);
10234 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
10235 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
10236 for (cntr_objects_1 = 0; cntr_objects_1 < size_objects_1; cntr_objects_1++) {
10237 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
10239 for (cntr_objects_1 = 0; cntr_objects_1 < size_objects_1; cntr_objects_1++) {
10240 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
10242 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
10243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
10246 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
10249 return NDR_ERR_SUCCESS;
10252 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
10254 uint32_t cntr_objects_1;
10255 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
10256 if (r == NULL) { ndr_print_null(ndr); return; }
10258 ndr_print_ptr(ndr, "id", r->id);
10261 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
10264 ndr_print_drsuapi_DsAddEntry_DirErr(ndr, "dir_err", r->dir_err);
10265 ndr_print_uint32(ndr, "dsid", r->dsid);
10266 ndr_print_WERROR(ndr, "extended_err", r->extended_err);
10267 ndr_print_uint32(ndr, "extended_data", r->extended_data);
10268 ndr_print_uint16(ndr, "problem", r->problem);
10269 ndr_print_uint32(ndr, "count", r->count);
10270 ndr_print_ptr(ndr, "objects", r->objects);
10273 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
10275 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
10276 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
10284 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
10286 uint32_t cntr_objects_1;
10287 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10288 if (ndr_flags & NDR_SCALARS) {
10289 NDR_CHECK(ndr_push_align(ndr, 5));
10290 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
10291 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->err_ver));
10292 NDR_CHECK(ndr_push_unique_ptr(ndr, r->err_data));
10293 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10294 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
10295 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10297 if (ndr_flags & NDR_BUFFERS) {
10299 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
10302 NDR_CHECK(ndr_push_set_switch_value(ndr, r->err_data, r->err_ver));
10303 NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData(ndr, NDR_SCALARS|NDR_BUFFERS, r->err_data));
10306 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10307 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
10308 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
10310 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
10311 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
10315 return NDR_ERR_SUCCESS;
10318 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
10321 TALLOC_CTX *_mem_save_id_0;
10322 uint32_t _ptr_err_data;
10323 TALLOC_CTX *_mem_save_err_data_0;
10324 uint32_t _ptr_objects;
10325 uint32_t size_objects_1 = 0;
10326 uint32_t cntr_objects_1;
10327 TALLOC_CTX *_mem_save_objects_0;
10328 TALLOC_CTX *_mem_save_objects_1;
10329 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10330 if (ndr_flags & NDR_SCALARS) {
10331 NDR_CHECK(ndr_pull_align(ndr, 5));
10332 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
10334 NDR_PULL_ALLOC(ndr, r->id);
10338 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->err_ver));
10339 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_err_data));
10340 if (_ptr_err_data) {
10341 NDR_PULL_ALLOC(ndr, r->err_data);
10343 r->err_data = NULL;
10345 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10346 if (r->count > 10000) {
10347 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
10349 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
10350 if (_ptr_objects) {
10351 NDR_PULL_ALLOC(ndr, r->objects);
10355 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10357 if (ndr_flags & NDR_BUFFERS) {
10359 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
10360 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
10361 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
10362 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
10365 _mem_save_err_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
10366 NDR_PULL_SET_MEM_CTX(ndr, r->err_data, 0);
10367 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->err_data, r->err_ver));
10368 NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData(ndr, NDR_SCALARS|NDR_BUFFERS, r->err_data));
10369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_err_data_0, 0);
10372 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
10373 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
10374 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
10375 size_objects_1 = ndr_get_array_size(ndr, &r->objects);
10376 NDR_PULL_ALLOC_N(ndr, r->objects, size_objects_1);
10377 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
10378 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
10379 for (cntr_objects_1 = 0; cntr_objects_1 < size_objects_1; cntr_objects_1++) {
10380 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
10382 for (cntr_objects_1 = 0; cntr_objects_1 < size_objects_1; cntr_objects_1++) {
10383 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
10385 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
10386 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
10389 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
10392 return NDR_ERR_SUCCESS;
10395 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
10397 uint32_t cntr_objects_1;
10398 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
10399 if (r == NULL) { ndr_print_null(ndr); return; }
10401 ndr_print_ptr(ndr, "id", r->id);
10404 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
10407 ndr_print_uint32(ndr, "err_ver", r->err_ver);
10408 ndr_print_ptr(ndr, "err_data", r->err_data);
10411 ndr_print_set_switch_value(ndr, r->err_data, r->err_ver);
10412 ndr_print_drsuapi_DsAddEntry_ErrData(ndr, "err_data", r->err_data);
10415 ndr_print_uint32(ndr, "count", r->count);
10416 ndr_print_ptr(ndr, "objects", r->objects);
10419 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
10421 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
10422 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
10430 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
10432 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10433 if (ndr_flags & NDR_SCALARS) {
10434 uint32_t level = ndr_push_get_switch_value(ndr, r);
10435 NDR_CHECK(ndr_push_union_align(ndr, 5));
10436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
10437 NDR_CHECK(ndr_push_union_align(ndr, 5));
10440 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
10444 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
10448 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10451 if (ndr_flags & NDR_BUFFERS) {
10452 uint32_t level = ndr_push_get_switch_value(ndr, r);
10455 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
10459 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
10463 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10466 return NDR_ERR_SUCCESS;
10469 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
10473 level = ndr_pull_get_switch_value(ndr, r);
10474 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10475 if (ndr_flags & NDR_SCALARS) {
10476 NDR_CHECK(ndr_pull_union_align(ndr, 5));
10477 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
10478 if (_level != level) {
10479 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10481 NDR_CHECK(ndr_pull_union_align(ndr, 5));
10484 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
10488 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
10492 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10495 if (ndr_flags & NDR_BUFFERS) {
10498 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
10502 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
10506 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10509 return NDR_ERR_SUCCESS;
10512 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
10515 level = ndr_print_get_switch_value(ndr, r);
10516 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
10519 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
10523 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
10527 ndr_print_bad_level(ndr, name, level);
10531 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
10533 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
10534 return NDR_ERR_SUCCESS;
10537 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
10540 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
10542 return NDR_ERR_SUCCESS;
10545 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
10547 ndr_print_uint32(ndr, name, r);
10549 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
10550 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
10554 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
10556 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10557 if (ndr_flags & NDR_SCALARS) {
10558 NDR_CHECK(ndr_push_align(ndr, 4));
10559 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
10560 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
10561 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
10563 if (ndr_flags & NDR_BUFFERS) {
10565 return NDR_ERR_SUCCESS;
10568 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
10570 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10571 if (ndr_flags & NDR_SCALARS) {
10572 NDR_CHECK(ndr_pull_align(ndr, 4));
10573 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
10574 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
10575 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
10577 if (ndr_flags & NDR_BUFFERS) {
10579 return NDR_ERR_SUCCESS;
10582 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
10584 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
10585 if (r == NULL) { ndr_print_null(ndr); return; }
10587 ndr_print_uint32(ndr, "taskID", r->taskID);
10588 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
10592 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
10594 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10595 if (ndr_flags & NDR_SCALARS) {
10596 uint32_t level = ndr_push_get_switch_value(ndr, r);
10597 NDR_CHECK(ndr_push_union_align(ndr, 4));
10598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
10599 NDR_CHECK(ndr_push_union_align(ndr, 4));
10602 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
10606 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10609 if (ndr_flags & NDR_BUFFERS) {
10610 uint32_t level = ndr_push_get_switch_value(ndr, r);
10616 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10619 return NDR_ERR_SUCCESS;
10622 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
10626 level = ndr_pull_get_switch_value(ndr, r);
10627 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10628 if (ndr_flags & NDR_SCALARS) {
10629 NDR_CHECK(ndr_pull_union_align(ndr, 4));
10630 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
10631 if (_level != level) {
10632 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10634 NDR_CHECK(ndr_pull_union_align(ndr, 4));
10637 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
10641 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10644 if (ndr_flags & NDR_BUFFERS) {
10650 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10653 return NDR_ERR_SUCCESS;
10656 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
10659 level = ndr_print_get_switch_value(ndr, r);
10660 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
10663 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
10667 ndr_print_bad_level(ndr, name, level);
10671 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
10673 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
10674 return NDR_ERR_SUCCESS;
10677 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
10680 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
10682 return NDR_ERR_SUCCESS;
10685 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
10687 const char *val = NULL;
10690 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
10691 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
10693 ndr_print_enum(ndr, name, "ENUM", val, r);
10696 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
10698 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
10699 return NDR_ERR_SUCCESS;
10702 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
10705 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
10707 return NDR_ERR_SUCCESS;
10710 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
10712 const char *val = NULL;
10715 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
10716 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
10717 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
10718 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
10719 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
10720 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
10721 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
10722 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
10723 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
10724 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
10725 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
10726 case DRSUAPI_DS_REPLICA_INFO_REPSTO: val = "DRSUAPI_DS_REPLICA_INFO_REPSTO"; break;
10727 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: val = "DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS"; break;
10728 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: val = "DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1"; break;
10729 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: val = "DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS"; break;
10731 ndr_print_enum(ndr, name, "ENUM", val, r);
10734 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
10736 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10737 if (ndr_flags & NDR_SCALARS) {
10738 NDR_CHECK(ndr_push_align(ndr, 5));
10739 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
10740 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10741 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
10742 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10744 if (ndr_flags & NDR_BUFFERS) {
10745 if (r->object_dn) {
10746 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10747 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10748 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10749 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10752 return NDR_ERR_SUCCESS;
10755 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
10757 uint32_t _ptr_object_dn;
10758 uint32_t size_object_dn_1 = 0;
10759 uint32_t length_object_dn_1 = 0;
10760 TALLOC_CTX *_mem_save_object_dn_0;
10761 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10762 if (ndr_flags & NDR_SCALARS) {
10763 NDR_CHECK(ndr_pull_align(ndr, 5));
10764 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
10765 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
10766 if (_ptr_object_dn) {
10767 NDR_PULL_ALLOC(ndr, r->object_dn);
10769 r->object_dn = NULL;
10771 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
10772 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10774 if (ndr_flags & NDR_BUFFERS) {
10775 if (r->object_dn) {
10776 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10777 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
10778 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
10779 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
10780 size_object_dn_1 = ndr_get_array_size(ndr, &r->object_dn);
10781 length_object_dn_1 = ndr_get_array_length(ndr, &r->object_dn);
10782 if (length_object_dn_1 > size_object_dn_1) {
10783 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
10785 NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
10786 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
10787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
10790 return NDR_ERR_SUCCESS;
10793 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
10795 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
10796 if (r == NULL) { ndr_print_null(ndr); return; }
10798 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
10799 ndr_print_ptr(ndr, "object_dn", r->object_dn);
10801 if (r->object_dn) {
10802 ndr_print_string(ndr, "object_dn", r->object_dn);
10805 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
10809 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
10811 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10812 if (ndr_flags & NDR_SCALARS) {
10813 NDR_CHECK(ndr_push_align(ndr, 5));
10814 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
10815 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10816 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
10817 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
10818 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10819 NDR_CHECK(ndr_push_unique_ptr(ndr, r->value_dn_str));
10820 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
10821 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10823 if (ndr_flags & NDR_BUFFERS) {
10824 if (r->object_dn) {
10825 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10826 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10827 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10828 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10830 if (r->attribute_name) {
10831 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10832 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10833 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10834 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10836 if (r->value_dn_str) {
10837 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
10838 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10839 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
10840 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->value_dn_str, ndr_charset_length(r->value_dn_str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10843 return NDR_ERR_SUCCESS;
10846 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
10848 uint32_t _ptr_object_dn;
10849 uint32_t size_object_dn_1 = 0;
10850 uint32_t length_object_dn_1 = 0;
10851 TALLOC_CTX *_mem_save_object_dn_0;
10852 uint32_t _ptr_attribute_name;
10853 uint32_t size_attribute_name_1 = 0;
10854 uint32_t length_attribute_name_1 = 0;
10855 TALLOC_CTX *_mem_save_attribute_name_0;
10856 uint32_t _ptr_value_dn_str;
10857 uint32_t size_value_dn_str_1 = 0;
10858 uint32_t length_value_dn_str_1 = 0;
10859 TALLOC_CTX *_mem_save_value_dn_str_0;
10860 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
10861 if (ndr_flags & NDR_SCALARS) {
10862 NDR_CHECK(ndr_pull_align(ndr, 5));
10863 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
10864 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
10865 if (_ptr_object_dn) {
10866 NDR_PULL_ALLOC(ndr, r->object_dn);
10868 r->object_dn = NULL;
10870 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
10871 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
10872 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10873 if (_ptr_attribute_name) {
10874 NDR_PULL_ALLOC(ndr, r->attribute_name);
10876 r->attribute_name = NULL;
10878 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_dn_str));
10879 if (_ptr_value_dn_str) {
10880 NDR_PULL_ALLOC(ndr, r->value_dn_str);
10882 r->value_dn_str = NULL;
10884 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
10885 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10887 if (ndr_flags & NDR_BUFFERS) {
10888 if (r->object_dn) {
10889 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10890 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
10891 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
10892 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
10893 size_object_dn_1 = ndr_get_array_size(ndr, &r->object_dn);
10894 length_object_dn_1 = ndr_get_array_length(ndr, &r->object_dn);
10895 if (length_object_dn_1 > size_object_dn_1) {
10896 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
10898 NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
10899 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
10900 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
10902 if (r->attribute_name) {
10903 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10904 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10905 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10906 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10907 size_attribute_name_1 = ndr_get_array_size(ndr, &r->attribute_name);
10908 length_attribute_name_1 = ndr_get_array_length(ndr, &r->attribute_name);
10909 if (length_attribute_name_1 > size_attribute_name_1) {
10910 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
10912 NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
10913 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
10914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10916 if (r->value_dn_str) {
10917 _mem_save_value_dn_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
10918 NDR_PULL_SET_MEM_CTX(ndr, r->value_dn_str, 0);
10919 NDR_CHECK(ndr_pull_array_size(ndr, &r->value_dn_str));
10920 NDR_CHECK(ndr_pull_array_length(ndr, &r->value_dn_str));
10921 size_value_dn_str_1 = ndr_get_array_size(ndr, &r->value_dn_str);
10922 length_value_dn_str_1 = ndr_get_array_length(ndr, &r->value_dn_str);
10923 if (length_value_dn_str_1 > size_value_dn_str_1) {
10924 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_value_dn_str_1, length_value_dn_str_1);
10926 NDR_CHECK(ndr_check_string_terminator(ndr, length_value_dn_str_1, sizeof(uint16_t)));
10927 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->value_dn_str, length_value_dn_str_1, sizeof(uint16_t), CH_UTF16));
10928 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_dn_str_0, 0);
10931 return NDR_ERR_SUCCESS;
10934 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
10936 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
10937 if (r == NULL) { ndr_print_null(ndr); return; }
10939 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
10940 ndr_print_ptr(ndr, "object_dn", r->object_dn);
10942 if (r->object_dn) {
10943 ndr_print_string(ndr, "object_dn", r->object_dn);
10946 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
10947 ndr_print_uint32(ndr, "flags", r->flags);
10948 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10950 if (r->attribute_name) {
10951 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10954 ndr_print_ptr(ndr, "value_dn_str", r->value_dn_str);
10956 if (r->value_dn_str) {
10957 ndr_print_string(ndr, "value_dn_str", r->value_dn_str);
10960 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
10964 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
10966 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10967 if (ndr_flags & NDR_SCALARS) {
10968 uint32_t level = ndr_push_get_switch_value(ndr, r);
10969 NDR_CHECK(ndr_push_union_align(ndr, 5));
10970 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
10971 NDR_CHECK(ndr_push_union_align(ndr, 5));
10973 case DRSUAPI_DS_REPLICA_GET_INFO: {
10974 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
10977 case DRSUAPI_DS_REPLICA_GET_INFO2: {
10978 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
10982 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
10985 if (ndr_flags & NDR_BUFFERS) {
10986 uint32_t level = ndr_push_get_switch_value(ndr, r);
10988 case DRSUAPI_DS_REPLICA_GET_INFO:
10989 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
10992 case DRSUAPI_DS_REPLICA_GET_INFO2:
10993 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
10997 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11000 return NDR_ERR_SUCCESS;
11003 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
11007 level = ndr_pull_get_switch_value(ndr, r);
11008 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11009 if (ndr_flags & NDR_SCALARS) {
11010 NDR_CHECK(ndr_pull_union_align(ndr, 5));
11011 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
11012 if (_level != level) {
11013 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
11015 NDR_CHECK(ndr_pull_union_align(ndr, 5));
11017 case DRSUAPI_DS_REPLICA_GET_INFO: {
11018 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
11021 case DRSUAPI_DS_REPLICA_GET_INFO2: {
11022 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
11026 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11029 if (ndr_flags & NDR_BUFFERS) {
11031 case DRSUAPI_DS_REPLICA_GET_INFO:
11032 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
11035 case DRSUAPI_DS_REPLICA_GET_INFO2:
11036 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
11040 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11043 return NDR_ERR_SUCCESS;
11046 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
11049 level = ndr_print_get_switch_value(ndr, r);
11050 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
11052 case DRSUAPI_DS_REPLICA_GET_INFO:
11053 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
11056 case DRSUAPI_DS_REPLICA_GET_INFO2:
11057 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
11061 ndr_print_bad_level(ndr, name, level);
11065 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
11067 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11068 if (ndr_flags & NDR_SCALARS) {
11069 NDR_CHECK(ndr_push_align(ndr, 8));
11070 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
11071 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11072 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
11073 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
11074 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
11075 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11076 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
11077 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
11078 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11079 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
11080 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
11081 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11082 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
11083 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
11084 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
11085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
11086 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11088 if (ndr_flags & NDR_BUFFERS) {
11089 if (r->naming_context_dn) {
11090 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
11091 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11092 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
11093 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));
11095 if (r->source_dsa_obj_dn) {
11096 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11097 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11098 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11099 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));
11101 if (r->source_dsa_address) {
11102 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
11103 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11104 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
11105 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));
11107 if (r->transport_obj_dn) {
11108 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
11109 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11110 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
11111 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));
11114 return NDR_ERR_SUCCESS;
11117 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
11119 uint32_t _ptr_naming_context_dn;
11120 uint32_t size_naming_context_dn_1 = 0;
11121 uint32_t length_naming_context_dn_1 = 0;
11122 TALLOC_CTX *_mem_save_naming_context_dn_0;
11123 uint32_t _ptr_source_dsa_obj_dn;
11124 uint32_t size_source_dsa_obj_dn_1 = 0;
11125 uint32_t length_source_dsa_obj_dn_1 = 0;
11126 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
11127 uint32_t _ptr_source_dsa_address;
11128 uint32_t size_source_dsa_address_1 = 0;
11129 uint32_t length_source_dsa_address_1 = 0;
11130 TALLOC_CTX *_mem_save_source_dsa_address_0;
11131 uint32_t _ptr_transport_obj_dn;
11132 uint32_t size_transport_obj_dn_1 = 0;
11133 uint32_t length_transport_obj_dn_1 = 0;
11134 TALLOC_CTX *_mem_save_transport_obj_dn_0;
11135 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11136 if (ndr_flags & NDR_SCALARS) {
11137 NDR_CHECK(ndr_pull_align(ndr, 8));
11138 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
11139 if (_ptr_naming_context_dn) {
11140 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
11142 r->naming_context_dn = NULL;
11144 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11145 if (_ptr_source_dsa_obj_dn) {
11146 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11148 r->source_dsa_obj_dn = NULL;
11150 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
11151 if (_ptr_source_dsa_address) {
11152 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
11154 r->source_dsa_address = NULL;
11156 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
11157 if (_ptr_transport_obj_dn) {
11158 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
11160 r->transport_obj_dn = NULL;
11162 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
11163 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11164 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
11165 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
11166 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11167 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
11168 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
11169 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11170 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
11171 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
11172 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
11173 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
11174 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11176 if (ndr_flags & NDR_BUFFERS) {
11177 if (r->naming_context_dn) {
11178 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11179 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
11180 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
11181 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
11182 size_naming_context_dn_1 = ndr_get_array_size(ndr, &r->naming_context_dn);
11183 length_naming_context_dn_1 = ndr_get_array_length(ndr, &r->naming_context_dn);
11184 if (length_naming_context_dn_1 > size_naming_context_dn_1) {
11185 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_naming_context_dn_1, length_naming_context_dn_1);
11187 NDR_CHECK(ndr_check_string_terminator(ndr, length_naming_context_dn_1, sizeof(uint16_t)));
11188 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->naming_context_dn, length_naming_context_dn_1, sizeof(uint16_t), CH_UTF16));
11189 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
11191 if (r->source_dsa_obj_dn) {
11192 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11193 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11194 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11195 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11196 size_source_dsa_obj_dn_1 = ndr_get_array_size(ndr, &r->source_dsa_obj_dn);
11197 length_source_dsa_obj_dn_1 = ndr_get_array_length(ndr, &r->source_dsa_obj_dn);
11198 if (length_source_dsa_obj_dn_1 > size_source_dsa_obj_dn_1) {
11199 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_obj_dn_1, length_source_dsa_obj_dn_1);
11201 NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_obj_dn_1, sizeof(uint16_t)));
11202 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, length_source_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
11203 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11205 if (r->source_dsa_address) {
11206 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
11207 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
11208 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
11209 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
11210 size_source_dsa_address_1 = ndr_get_array_size(ndr, &r->source_dsa_address);
11211 length_source_dsa_address_1 = ndr_get_array_length(ndr, &r->source_dsa_address);
11212 if (length_source_dsa_address_1 > size_source_dsa_address_1) {
11213 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_address_1, length_source_dsa_address_1);
11215 NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_address_1, sizeof(uint16_t)));
11216 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, length_source_dsa_address_1, sizeof(uint16_t), CH_UTF16));
11217 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
11219 if (r->transport_obj_dn) {
11220 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11221 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
11222 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
11223 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
11224 size_transport_obj_dn_1 = ndr_get_array_size(ndr, &r->transport_obj_dn);
11225 length_transport_obj_dn_1 = ndr_get_array_length(ndr, &r->transport_obj_dn);
11226 if (length_transport_obj_dn_1 > size_transport_obj_dn_1) {
11227 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_transport_obj_dn_1, length_transport_obj_dn_1);
11229 NDR_CHECK(ndr_check_string_terminator(ndr, length_transport_obj_dn_1, sizeof(uint16_t)));
11230 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->transport_obj_dn, length_transport_obj_dn_1, sizeof(uint16_t), CH_UTF16));
11231 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
11234 return NDR_ERR_SUCCESS;
11237 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
11239 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
11240 if (r == NULL) { ndr_print_null(ndr); return; }
11242 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
11244 if (r->naming_context_dn) {
11245 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
11248 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11250 if (r->source_dsa_obj_dn) {
11251 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11254 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
11256 if (r->source_dsa_address) {
11257 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
11260 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
11262 if (r->transport_obj_dn) {
11263 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
11266 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
11267 ndr_print_uint32(ndr, "reserved", r->reserved);
11268 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
11269 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
11270 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11271 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
11272 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
11273 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11274 ndr_print_NTTIME(ndr, "last_success", r->last_success);
11275 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
11276 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
11277 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
11281 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
11283 uint32_t cntr_array_0;
11284 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11285 if (ndr_flags & NDR_SCALARS) {
11286 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11287 NDR_CHECK(ndr_push_align(ndr, 8));
11288 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11289 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11290 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11291 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11293 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11295 if (ndr_flags & NDR_BUFFERS) {
11296 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11297 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11300 return NDR_ERR_SUCCESS;
11303 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
11305 uint32_t size_array_0 = 0;
11306 uint32_t cntr_array_0;
11307 TALLOC_CTX *_mem_save_array_0;
11308 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11309 if (ndr_flags & NDR_SCALARS) {
11310 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11311 NDR_CHECK(ndr_pull_align(ndr, 8));
11312 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11313 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11314 size_array_0 = ndr_get_array_size(ndr, &r->array);
11315 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
11316 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11317 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11318 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
11319 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11321 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11323 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11325 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11327 if (ndr_flags & NDR_BUFFERS) {
11328 size_array_0 = ndr_get_array_size(ndr, &r->array);
11329 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11330 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11331 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
11332 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11336 return NDR_ERR_SUCCESS;
11339 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
11341 uint32_t cntr_array_0;
11342 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
11343 if (r == NULL) { ndr_print_null(ndr); return; }
11345 ndr_print_uint32(ndr, "count", r->count);
11346 ndr_print_uint32(ndr, "reserved", r->reserved);
11347 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11349 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11350 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
11356 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
11358 uint32_t cntr_array_0;
11359 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11360 if (ndr_flags & NDR_SCALARS) {
11361 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11362 NDR_CHECK(ndr_push_align(ndr, 8));
11363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11365 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11366 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11368 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11370 if (ndr_flags & NDR_BUFFERS) {
11372 return NDR_ERR_SUCCESS;
11375 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
11377 uint32_t size_array_0 = 0;
11378 uint32_t cntr_array_0;
11379 TALLOC_CTX *_mem_save_array_0;
11380 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11381 if (ndr_flags & NDR_SCALARS) {
11382 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11383 NDR_CHECK(ndr_pull_align(ndr, 8));
11384 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11385 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11386 size_array_0 = ndr_get_array_size(ndr, &r->array);
11387 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
11388 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11389 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11390 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
11391 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11393 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11395 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11397 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11399 if (ndr_flags & NDR_BUFFERS) {
11401 return NDR_ERR_SUCCESS;
11404 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
11406 uint32_t cntr_array_0;
11407 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
11408 if (r == NULL) { ndr_print_null(ndr); return; }
11410 ndr_print_uint32(ndr, "count", r->count);
11411 ndr_print_uint32(ndr, "reserved", r->reserved);
11412 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11414 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11415 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
11421 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
11423 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11424 if (ndr_flags & NDR_SCALARS) {
11425 NDR_CHECK(ndr_push_align(ndr, 8));
11426 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11428 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11429 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11430 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11431 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11432 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11434 if (ndr_flags & NDR_BUFFERS) {
11435 if (r->attribute_name) {
11436 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11437 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11438 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11439 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11442 return NDR_ERR_SUCCESS;
11445 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
11447 uint32_t _ptr_attribute_name;
11448 uint32_t size_attribute_name_1 = 0;
11449 uint32_t length_attribute_name_1 = 0;
11450 TALLOC_CTX *_mem_save_attribute_name_0;
11451 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11452 if (ndr_flags & NDR_SCALARS) {
11453 NDR_CHECK(ndr_pull_align(ndr, 8));
11454 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11455 if (_ptr_attribute_name) {
11456 NDR_PULL_ALLOC(ndr, r->attribute_name);
11458 r->attribute_name = NULL;
11460 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11461 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11462 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11463 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11464 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11465 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11467 if (ndr_flags & NDR_BUFFERS) {
11468 if (r->attribute_name) {
11469 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11470 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11471 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11472 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11473 size_attribute_name_1 = ndr_get_array_size(ndr, &r->attribute_name);
11474 length_attribute_name_1 = ndr_get_array_length(ndr, &r->attribute_name);
11475 if (length_attribute_name_1 > size_attribute_name_1) {
11476 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
11478 NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
11479 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
11480 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11483 return NDR_ERR_SUCCESS;
11486 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
11488 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
11489 if (r == NULL) { ndr_print_null(ndr); return; }
11491 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11493 if (r->attribute_name) {
11494 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11497 ndr_print_uint32(ndr, "version", r->version);
11498 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11499 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11500 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11501 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11505 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
11507 uint32_t cntr_array_0;
11508 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11509 if (ndr_flags & NDR_SCALARS) {
11510 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11511 NDR_CHECK(ndr_push_align(ndr, 8));
11512 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11514 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11515 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11517 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11519 if (ndr_flags & NDR_BUFFERS) {
11520 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11521 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11524 return NDR_ERR_SUCCESS;
11527 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
11529 uint32_t size_array_0 = 0;
11530 uint32_t cntr_array_0;
11531 TALLOC_CTX *_mem_save_array_0;
11532 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11533 if (ndr_flags & NDR_SCALARS) {
11534 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11535 NDR_CHECK(ndr_pull_align(ndr, 8));
11536 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11537 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11538 size_array_0 = ndr_get_array_size(ndr, &r->array);
11539 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
11540 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11541 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11542 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
11543 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11545 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11547 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11549 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11551 if (ndr_flags & NDR_BUFFERS) {
11552 size_array_0 = ndr_get_array_size(ndr, &r->array);
11553 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11554 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11555 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
11556 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11560 return NDR_ERR_SUCCESS;
11563 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
11565 uint32_t cntr_array_0;
11566 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
11567 if (r == NULL) { ndr_print_null(ndr); return; }
11569 ndr_print_uint32(ndr, "count", r->count);
11570 ndr_print_uint32(ndr, "reserved", r->reserved);
11571 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11573 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11574 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
11580 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
11582 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11583 if (ndr_flags & NDR_SCALARS) {
11584 NDR_CHECK(ndr_push_align(ndr, 5));
11585 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
11586 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
11587 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
11588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
11589 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
11590 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11592 if (ndr_flags & NDR_BUFFERS) {
11593 if (r->dsa_obj_dn) {
11594 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
11595 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11596 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
11597 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));
11600 return NDR_ERR_SUCCESS;
11603 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
11605 uint32_t _ptr_dsa_obj_dn;
11606 uint32_t size_dsa_obj_dn_1 = 0;
11607 uint32_t length_dsa_obj_dn_1 = 0;
11608 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
11609 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11610 if (ndr_flags & NDR_SCALARS) {
11611 NDR_CHECK(ndr_pull_align(ndr, 5));
11612 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
11613 if (_ptr_dsa_obj_dn) {
11614 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
11616 r->dsa_obj_dn = NULL;
11618 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
11619 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
11620 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
11621 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
11622 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11624 if (ndr_flags & NDR_BUFFERS) {
11625 if (r->dsa_obj_dn) {
11626 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11627 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
11628 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
11629 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
11630 size_dsa_obj_dn_1 = ndr_get_array_size(ndr, &r->dsa_obj_dn);
11631 length_dsa_obj_dn_1 = ndr_get_array_length(ndr, &r->dsa_obj_dn);
11632 if (length_dsa_obj_dn_1 > size_dsa_obj_dn_1) {
11633 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dsa_obj_dn_1, length_dsa_obj_dn_1);
11635 NDR_CHECK(ndr_check_string_terminator(ndr, length_dsa_obj_dn_1, sizeof(uint16_t)));
11636 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dsa_obj_dn, length_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
11637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
11640 return NDR_ERR_SUCCESS;
11643 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
11645 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
11646 if (r == NULL) { ndr_print_null(ndr); return; }
11648 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
11650 if (r->dsa_obj_dn) {
11651 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
11654 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
11655 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
11656 ndr_print_uint32(ndr, "num_failures", r->num_failures);
11657 ndr_print_WERROR(ndr, "last_result", r->last_result);
11661 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
11663 uint32_t cntr_array_0;
11664 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11665 if (ndr_flags & NDR_SCALARS) {
11666 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11667 NDR_CHECK(ndr_push_align(ndr, 5));
11668 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11669 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11670 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11671 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11673 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11675 if (ndr_flags & NDR_BUFFERS) {
11676 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11677 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11680 return NDR_ERR_SUCCESS;
11683 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
11685 uint32_t size_array_0 = 0;
11686 uint32_t cntr_array_0;
11687 TALLOC_CTX *_mem_save_array_0;
11688 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11689 if (ndr_flags & NDR_SCALARS) {
11690 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11691 NDR_CHECK(ndr_pull_align(ndr, 5));
11692 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11693 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11694 size_array_0 = ndr_get_array_size(ndr, &r->array);
11695 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
11696 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11697 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11698 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
11699 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11701 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11703 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11705 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11707 if (ndr_flags & NDR_BUFFERS) {
11708 size_array_0 = ndr_get_array_size(ndr, &r->array);
11709 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11710 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11711 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
11712 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11714 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11716 return NDR_ERR_SUCCESS;
11719 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
11721 uint32_t cntr_array_0;
11722 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
11723 if (r == NULL) { ndr_print_null(ndr); return; }
11725 ndr_print_uint32(ndr, "count", r->count);
11726 ndr_print_uint32(ndr, "reserved", r->reserved);
11727 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11729 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11730 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
11736 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
11738 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
11739 return NDR_ERR_SUCCESS;
11742 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
11745 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
11747 return NDR_ERR_SUCCESS;
11750 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
11752 const char *val = NULL;
11755 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
11756 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
11757 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
11758 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
11759 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
11761 ndr_print_enum(ndr, name, "ENUM", val, r);
11764 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
11766 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11767 if (ndr_flags & NDR_SCALARS) {
11768 NDR_CHECK(ndr_push_align(ndr, 5));
11769 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
11770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
11771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
11772 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
11773 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
11774 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
11775 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
11776 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
11777 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
11778 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
11779 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11781 if (ndr_flags & NDR_BUFFERS) {
11783 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
11784 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11785 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
11786 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11788 if (r->remote_dsa_obj_dn) {
11789 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
11790 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11791 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
11792 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));
11794 if (r->remote_dsa_address) {
11795 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
11796 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11797 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
11798 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));
11801 return NDR_ERR_SUCCESS;
11804 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
11806 uint32_t _ptr_nc_dn;
11807 uint32_t size_nc_dn_1 = 0;
11808 uint32_t length_nc_dn_1 = 0;
11809 TALLOC_CTX *_mem_save_nc_dn_0;
11810 uint32_t _ptr_remote_dsa_obj_dn;
11811 uint32_t size_remote_dsa_obj_dn_1 = 0;
11812 uint32_t length_remote_dsa_obj_dn_1 = 0;
11813 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
11814 uint32_t _ptr_remote_dsa_address;
11815 uint32_t size_remote_dsa_address_1 = 0;
11816 uint32_t length_remote_dsa_address_1 = 0;
11817 TALLOC_CTX *_mem_save_remote_dsa_address_0;
11818 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11819 if (ndr_flags & NDR_SCALARS) {
11820 NDR_CHECK(ndr_pull_align(ndr, 5));
11821 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
11822 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
11823 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
11824 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
11825 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
11826 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
11828 NDR_PULL_ALLOC(ndr, r->nc_dn);
11832 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
11833 if (_ptr_remote_dsa_obj_dn) {
11834 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
11836 r->remote_dsa_obj_dn = NULL;
11838 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
11839 if (_ptr_remote_dsa_address) {
11840 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
11842 r->remote_dsa_address = NULL;
11844 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
11845 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
11846 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11848 if (ndr_flags & NDR_BUFFERS) {
11850 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11851 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
11852 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
11853 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
11854 size_nc_dn_1 = ndr_get_array_size(ndr, &r->nc_dn);
11855 length_nc_dn_1 = ndr_get_array_length(ndr, &r->nc_dn);
11856 if (length_nc_dn_1 > size_nc_dn_1) {
11857 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_nc_dn_1, length_nc_dn_1);
11859 NDR_CHECK(ndr_check_string_terminator(ndr, length_nc_dn_1, sizeof(uint16_t)));
11860 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, length_nc_dn_1, sizeof(uint16_t), CH_UTF16));
11861 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
11863 if (r->remote_dsa_obj_dn) {
11864 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11865 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
11866 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
11867 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
11868 size_remote_dsa_obj_dn_1 = ndr_get_array_size(ndr, &r->remote_dsa_obj_dn);
11869 length_remote_dsa_obj_dn_1 = ndr_get_array_length(ndr, &r->remote_dsa_obj_dn);
11870 if (length_remote_dsa_obj_dn_1 > size_remote_dsa_obj_dn_1) {
11871 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_remote_dsa_obj_dn_1, length_remote_dsa_obj_dn_1);
11873 NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_dsa_obj_dn_1, sizeof(uint16_t)));
11874 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_obj_dn, length_remote_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
11875 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
11877 if (r->remote_dsa_address) {
11878 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
11879 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
11880 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
11881 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
11882 size_remote_dsa_address_1 = ndr_get_array_size(ndr, &r->remote_dsa_address);
11883 length_remote_dsa_address_1 = ndr_get_array_length(ndr, &r->remote_dsa_address);
11884 if (length_remote_dsa_address_1 > size_remote_dsa_address_1) {
11885 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_remote_dsa_address_1, length_remote_dsa_address_1);
11887 NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_dsa_address_1, sizeof(uint16_t)));
11888 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_address, length_remote_dsa_address_1, sizeof(uint16_t), CH_UTF16));
11889 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
11892 return NDR_ERR_SUCCESS;
11895 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
11897 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
11898 if (r == NULL) { ndr_print_null(ndr); return; }
11900 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
11901 ndr_print_uint32(ndr, "serial_num", r->serial_num);
11902 ndr_print_uint32(ndr, "priority", r->priority);
11903 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
11904 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
11905 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
11908 ndr_print_string(ndr, "nc_dn", r->nc_dn);
11911 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
11913 if (r->remote_dsa_obj_dn) {
11914 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
11917 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
11919 if (r->remote_dsa_address) {
11920 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
11923 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
11924 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
11928 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
11930 uint32_t cntr_array_0;
11931 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
11932 if (ndr_flags & NDR_SCALARS) {
11933 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11934 NDR_CHECK(ndr_push_align(ndr, 5));
11935 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
11936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11937 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11938 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11940 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
11942 if (ndr_flags & NDR_BUFFERS) {
11943 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11944 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11947 return NDR_ERR_SUCCESS;
11950 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
11952 uint32_t size_array_0 = 0;
11953 uint32_t cntr_array_0;
11954 TALLOC_CTX *_mem_save_array_0;
11955 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
11956 if (ndr_flags & NDR_SCALARS) {
11957 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11958 NDR_CHECK(ndr_pull_align(ndr, 5));
11959 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
11960 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11961 size_array_0 = ndr_get_array_size(ndr, &r->array);
11962 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
11963 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11964 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11965 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
11966 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11968 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11970 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11972 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
11974 if (ndr_flags & NDR_BUFFERS) {
11975 size_array_0 = ndr_get_array_size(ndr, &r->array);
11976 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11977 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11978 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
11979 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11981 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11983 return NDR_ERR_SUCCESS;
11986 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
11988 uint32_t cntr_array_0;
11989 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
11990 if (r == NULL) { ndr_print_null(ndr); return; }
11992 ndr_print_NTTIME(ndr, "time", r->time);
11993 ndr_print_uint32(ndr, "count", r->count);
11994 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11996 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11997 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
12003 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
12005 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12006 if (ndr_flags & NDR_SCALARS) {
12007 NDR_CHECK(ndr_push_align(ndr, 8));
12008 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
12009 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
12010 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
12011 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
12012 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
12013 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
12014 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
12015 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
12016 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
12017 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
12018 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
12019 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12021 if (ndr_flags & NDR_BUFFERS) {
12022 if (r->attribute_name) {
12023 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
12024 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12025 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
12026 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12028 if (r->object_dn) {
12029 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
12030 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12031 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
12032 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12035 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
12038 return NDR_ERR_SUCCESS;
12041 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
12043 uint32_t _ptr_attribute_name;
12044 uint32_t size_attribute_name_1 = 0;
12045 uint32_t length_attribute_name_1 = 0;
12046 TALLOC_CTX *_mem_save_attribute_name_0;
12047 uint32_t _ptr_object_dn;
12048 uint32_t size_object_dn_1 = 0;
12049 uint32_t length_object_dn_1 = 0;
12050 TALLOC_CTX *_mem_save_object_dn_0;
12051 uint32_t _ptr_binary;
12052 TALLOC_CTX *_mem_save_binary_0;
12053 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12054 if (ndr_flags & NDR_SCALARS) {
12055 NDR_CHECK(ndr_pull_align(ndr, 8));
12056 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
12057 if (_ptr_attribute_name) {
12058 NDR_PULL_ALLOC(ndr, r->attribute_name);
12060 r->attribute_name = NULL;
12062 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
12063 if (_ptr_object_dn) {
12064 NDR_PULL_ALLOC(ndr, r->object_dn);
12066 r->object_dn = NULL;
12068 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
12069 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
12071 NDR_PULL_ALLOC(ndr, r->binary);
12075 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
12076 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
12077 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
12078 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
12079 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
12080 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
12081 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
12082 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12084 if (ndr_flags & NDR_BUFFERS) {
12085 if (r->attribute_name) {
12086 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12087 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
12088 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
12089 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
12090 size_attribute_name_1 = ndr_get_array_size(ndr, &r->attribute_name);
12091 length_attribute_name_1 = ndr_get_array_length(ndr, &r->attribute_name);
12092 if (length_attribute_name_1 > size_attribute_name_1) {
12093 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
12095 NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
12096 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
12097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
12099 if (r->object_dn) {
12100 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
12101 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
12102 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
12103 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
12104 size_object_dn_1 = ndr_get_array_size(ndr, &r->object_dn);
12105 length_object_dn_1 = ndr_get_array_length(ndr, &r->object_dn);
12106 if (length_object_dn_1 > size_object_dn_1) {
12107 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
12109 NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
12110 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
12111 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
12114 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
12115 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
12116 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
12117 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
12120 return NDR_ERR_SUCCESS;
12123 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
12125 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
12126 if (r == NULL) { ndr_print_null(ndr); return; }
12128 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
12130 if (r->attribute_name) {
12131 ndr_print_string(ndr, "attribute_name", r->attribute_name);
12134 ndr_print_ptr(ndr, "object_dn", r->object_dn);
12136 if (r->object_dn) {
12137 ndr_print_string(ndr, "object_dn", r->object_dn);
12140 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);
12141 ndr_print_ptr(ndr, "binary", r->binary);
12144 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
12147 ndr_print_NTTIME(ndr, "deleted", r->deleted);
12148 ndr_print_NTTIME(ndr, "created", r->created);
12149 ndr_print_uint32(ndr, "version", r->version);
12150 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
12151 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
12152 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
12153 ndr_print_hyper(ndr, "local_usn", r->local_usn);
12157 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
12159 uint32_t cntr_array_0;
12160 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12161 if (ndr_flags & NDR_SCALARS) {
12162 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12163 NDR_CHECK(ndr_push_align(ndr, 8));
12164 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
12166 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12167 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12169 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12171 if (ndr_flags & NDR_BUFFERS) {
12172 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12173 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12176 return NDR_ERR_SUCCESS;
12179 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
12181 uint32_t size_array_0 = 0;
12182 uint32_t cntr_array_0;
12183 TALLOC_CTX *_mem_save_array_0;
12184 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12185 if (ndr_flags & NDR_SCALARS) {
12186 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12187 NDR_CHECK(ndr_pull_align(ndr, 8));
12188 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12189 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
12190 size_array_0 = ndr_get_array_size(ndr, &r->array);
12191 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
12192 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12193 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12194 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
12195 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12197 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12199 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12201 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12203 if (ndr_flags & NDR_BUFFERS) {
12204 size_array_0 = ndr_get_array_size(ndr, &r->array);
12205 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12206 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12207 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
12208 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12210 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12212 return NDR_ERR_SUCCESS;
12215 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
12217 uint32_t cntr_array_0;
12218 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
12219 if (r == NULL) { ndr_print_null(ndr); return; }
12221 ndr_print_uint32(ndr, "count", r->count);
12222 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
12223 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12225 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12226 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
12232 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
12234 uint32_t cntr_array_0;
12235 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12236 if (ndr_flags & NDR_SCALARS) {
12237 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12238 NDR_CHECK(ndr_push_align(ndr, 8));
12239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
12241 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12242 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12244 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12246 if (ndr_flags & NDR_BUFFERS) {
12248 return NDR_ERR_SUCCESS;
12251 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
12253 uint32_t size_array_0 = 0;
12254 uint32_t cntr_array_0;
12255 TALLOC_CTX *_mem_save_array_0;
12256 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12257 if (ndr_flags & NDR_SCALARS) {
12258 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12259 NDR_CHECK(ndr_pull_align(ndr, 8));
12260 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12261 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
12262 size_array_0 = ndr_get_array_size(ndr, &r->array);
12263 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
12264 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12265 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12266 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
12267 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12269 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12271 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12273 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12275 if (ndr_flags & NDR_BUFFERS) {
12277 return NDR_ERR_SUCCESS;
12280 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
12282 uint32_t cntr_array_0;
12283 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
12284 if (r == NULL) { ndr_print_null(ndr); return; }
12286 ndr_print_uint32(ndr, "count", r->count);
12287 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
12288 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12290 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12291 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
12297 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
12299 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12300 if (ndr_flags & NDR_SCALARS) {
12301 NDR_CHECK(ndr_push_align(ndr, 8));
12302 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
12303 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
12304 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
12305 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
12306 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12308 if (ndr_flags & NDR_BUFFERS) {
12309 if (r->source_dsa_obj_dn) {
12310 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
12311 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12312 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
12313 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));
12316 return NDR_ERR_SUCCESS;
12319 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
12321 uint32_t _ptr_source_dsa_obj_dn;
12322 uint32_t size_source_dsa_obj_dn_1 = 0;
12323 uint32_t length_source_dsa_obj_dn_1 = 0;
12324 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
12325 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12326 if (ndr_flags & NDR_SCALARS) {
12327 NDR_CHECK(ndr_pull_align(ndr, 8));
12328 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
12329 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
12330 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
12331 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
12332 if (_ptr_source_dsa_obj_dn) {
12333 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
12335 r->source_dsa_obj_dn = NULL;
12337 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12339 if (ndr_flags & NDR_BUFFERS) {
12340 if (r->source_dsa_obj_dn) {
12341 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
12342 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
12343 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
12344 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
12345 size_source_dsa_obj_dn_1 = ndr_get_array_size(ndr, &r->source_dsa_obj_dn);
12346 length_source_dsa_obj_dn_1 = ndr_get_array_length(ndr, &r->source_dsa_obj_dn);
12347 if (length_source_dsa_obj_dn_1 > size_source_dsa_obj_dn_1) {
12348 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_obj_dn_1, length_source_dsa_obj_dn_1);
12350 NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_obj_dn_1, sizeof(uint16_t)));
12351 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, length_source_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
12352 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
12355 return NDR_ERR_SUCCESS;
12358 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
12360 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
12361 if (r == NULL) { ndr_print_null(ndr); return; }
12363 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
12364 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
12365 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
12366 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
12368 if (r->source_dsa_obj_dn) {
12369 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
12375 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
12377 uint32_t cntr_array_0;
12378 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12379 if (ndr_flags & NDR_SCALARS) {
12380 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12381 NDR_CHECK(ndr_push_align(ndr, 8));
12382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
12384 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12385 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12387 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12389 if (ndr_flags & NDR_BUFFERS) {
12390 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12391 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12394 return NDR_ERR_SUCCESS;
12397 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
12399 uint32_t size_array_0 = 0;
12400 uint32_t cntr_array_0;
12401 TALLOC_CTX *_mem_save_array_0;
12402 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12403 if (ndr_flags & NDR_SCALARS) {
12404 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12405 NDR_CHECK(ndr_pull_align(ndr, 8));
12406 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12407 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
12408 size_array_0 = ndr_get_array_size(ndr, &r->array);
12409 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
12410 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12411 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12412 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
12413 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12415 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12417 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12419 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12421 if (ndr_flags & NDR_BUFFERS) {
12422 size_array_0 = ndr_get_array_size(ndr, &r->array);
12423 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12424 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12425 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
12426 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12428 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12430 return NDR_ERR_SUCCESS;
12433 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
12435 uint32_t cntr_array_0;
12436 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
12437 if (r == NULL) { ndr_print_null(ndr); return; }
12439 ndr_print_uint32(ndr, "count", r->count);
12440 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
12441 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12443 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12444 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
12450 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
12452 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12453 if (ndr_flags & NDR_SCALARS) {
12454 NDR_CHECK(ndr_push_align(ndr, 8));
12455 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
12456 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
12457 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
12458 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
12459 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
12460 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
12461 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
12462 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12464 if (ndr_flags & NDR_BUFFERS) {
12465 if (r->attribute_name) {
12466 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
12467 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12468 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
12469 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12471 if (r->originating_dsa_dn) {
12472 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
12473 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12474 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
12475 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));
12478 return NDR_ERR_SUCCESS;
12481 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
12483 uint32_t _ptr_attribute_name;
12484 uint32_t size_attribute_name_1 = 0;
12485 uint32_t length_attribute_name_1 = 0;
12486 TALLOC_CTX *_mem_save_attribute_name_0;
12487 uint32_t _ptr_originating_dsa_dn;
12488 uint32_t size_originating_dsa_dn_1 = 0;
12489 uint32_t length_originating_dsa_dn_1 = 0;
12490 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
12491 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12492 if (ndr_flags & NDR_SCALARS) {
12493 NDR_CHECK(ndr_pull_align(ndr, 8));
12494 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
12495 if (_ptr_attribute_name) {
12496 NDR_PULL_ALLOC(ndr, r->attribute_name);
12498 r->attribute_name = NULL;
12500 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
12501 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
12502 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
12503 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
12504 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
12505 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
12506 if (_ptr_originating_dsa_dn) {
12507 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
12509 r->originating_dsa_dn = NULL;
12511 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12513 if (ndr_flags & NDR_BUFFERS) {
12514 if (r->attribute_name) {
12515 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12516 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
12517 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
12518 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
12519 size_attribute_name_1 = ndr_get_array_size(ndr, &r->attribute_name);
12520 length_attribute_name_1 = ndr_get_array_length(ndr, &r->attribute_name);
12521 if (length_attribute_name_1 > size_attribute_name_1) {
12522 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
12524 NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
12525 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
12526 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
12528 if (r->originating_dsa_dn) {
12529 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
12530 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
12531 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
12532 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
12533 size_originating_dsa_dn_1 = ndr_get_array_size(ndr, &r->originating_dsa_dn);
12534 length_originating_dsa_dn_1 = ndr_get_array_length(ndr, &r->originating_dsa_dn);
12535 if (length_originating_dsa_dn_1 > size_originating_dsa_dn_1) {
12536 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_originating_dsa_dn_1, length_originating_dsa_dn_1);
12538 NDR_CHECK(ndr_check_string_terminator(ndr, length_originating_dsa_dn_1, sizeof(uint16_t)));
12539 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, length_originating_dsa_dn_1, sizeof(uint16_t), CH_UTF16));
12540 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
12543 return NDR_ERR_SUCCESS;
12546 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
12548 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
12549 if (r == NULL) { ndr_print_null(ndr); return; }
12551 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
12553 if (r->attribute_name) {
12554 ndr_print_string(ndr, "attribute_name", r->attribute_name);
12557 ndr_print_uint32(ndr, "version", r->version);
12558 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
12559 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
12560 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
12561 ndr_print_hyper(ndr, "local_usn", r->local_usn);
12562 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
12564 if (r->originating_dsa_dn) {
12565 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
12571 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
12573 uint32_t cntr_array_0;
12574 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12575 if (ndr_flags & NDR_SCALARS) {
12576 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12577 NDR_CHECK(ndr_push_align(ndr, 8));
12578 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
12580 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12581 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12583 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12585 if (ndr_flags & NDR_BUFFERS) {
12586 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12587 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12590 return NDR_ERR_SUCCESS;
12593 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
12595 uint32_t size_array_0 = 0;
12596 uint32_t cntr_array_0;
12597 TALLOC_CTX *_mem_save_array_0;
12598 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12599 if (ndr_flags & NDR_SCALARS) {
12600 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12601 NDR_CHECK(ndr_pull_align(ndr, 8));
12602 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12603 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
12604 size_array_0 = ndr_get_array_size(ndr, &r->array);
12605 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
12606 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12607 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12608 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
12609 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12611 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12613 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12615 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12617 if (ndr_flags & NDR_BUFFERS) {
12618 size_array_0 = ndr_get_array_size(ndr, &r->array);
12619 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12620 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12621 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
12622 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12624 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12626 return NDR_ERR_SUCCESS;
12629 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
12631 uint32_t cntr_array_0;
12632 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
12633 if (r == NULL) { ndr_print_null(ndr); return; }
12635 ndr_print_uint32(ndr, "count", r->count);
12636 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
12637 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12639 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12640 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
12646 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
12648 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12649 if (ndr_flags & NDR_SCALARS) {
12650 NDR_CHECK(ndr_push_align(ndr, 8));
12651 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
12652 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
12653 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
12654 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
12655 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
12656 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
12657 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
12658 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
12659 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
12660 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
12661 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
12662 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
12663 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12665 if (ndr_flags & NDR_BUFFERS) {
12666 if (r->attribute_name) {
12667 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
12668 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12669 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
12670 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12672 if (r->object_dn) {
12673 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
12674 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12675 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
12676 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12679 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
12681 if (r->originating_dsa_dn) {
12682 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
12683 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12684 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
12685 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));
12688 return NDR_ERR_SUCCESS;
12691 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
12693 uint32_t _ptr_attribute_name;
12694 uint32_t size_attribute_name_1 = 0;
12695 uint32_t length_attribute_name_1 = 0;
12696 TALLOC_CTX *_mem_save_attribute_name_0;
12697 uint32_t _ptr_object_dn;
12698 uint32_t size_object_dn_1 = 0;
12699 uint32_t length_object_dn_1 = 0;
12700 TALLOC_CTX *_mem_save_object_dn_0;
12701 uint32_t _ptr_binary;
12702 TALLOC_CTX *_mem_save_binary_0;
12703 uint32_t _ptr_originating_dsa_dn;
12704 uint32_t size_originating_dsa_dn_1 = 0;
12705 uint32_t length_originating_dsa_dn_1 = 0;
12706 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
12707 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12708 if (ndr_flags & NDR_SCALARS) {
12709 NDR_CHECK(ndr_pull_align(ndr, 8));
12710 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
12711 if (_ptr_attribute_name) {
12712 NDR_PULL_ALLOC(ndr, r->attribute_name);
12714 r->attribute_name = NULL;
12716 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
12717 if (_ptr_object_dn) {
12718 NDR_PULL_ALLOC(ndr, r->object_dn);
12720 r->object_dn = NULL;
12722 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
12723 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
12725 NDR_PULL_ALLOC(ndr, r->binary);
12729 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
12730 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
12731 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
12732 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
12733 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
12734 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
12735 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
12736 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
12737 if (_ptr_originating_dsa_dn) {
12738 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
12740 r->originating_dsa_dn = NULL;
12742 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12744 if (ndr_flags & NDR_BUFFERS) {
12745 if (r->attribute_name) {
12746 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12747 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
12748 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
12749 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
12750 size_attribute_name_1 = ndr_get_array_size(ndr, &r->attribute_name);
12751 length_attribute_name_1 = ndr_get_array_length(ndr, &r->attribute_name);
12752 if (length_attribute_name_1 > size_attribute_name_1) {
12753 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
12755 NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
12756 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
12757 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
12759 if (r->object_dn) {
12760 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
12761 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
12762 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
12763 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
12764 size_object_dn_1 = ndr_get_array_size(ndr, &r->object_dn);
12765 length_object_dn_1 = ndr_get_array_length(ndr, &r->object_dn);
12766 if (length_object_dn_1 > size_object_dn_1) {
12767 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
12769 NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
12770 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
12771 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
12774 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
12775 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
12776 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
12777 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
12779 if (r->originating_dsa_dn) {
12780 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
12781 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
12782 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
12783 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
12784 size_originating_dsa_dn_1 = ndr_get_array_size(ndr, &r->originating_dsa_dn);
12785 length_originating_dsa_dn_1 = ndr_get_array_length(ndr, &r->originating_dsa_dn);
12786 if (length_originating_dsa_dn_1 > size_originating_dsa_dn_1) {
12787 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_originating_dsa_dn_1, length_originating_dsa_dn_1);
12789 NDR_CHECK(ndr_check_string_terminator(ndr, length_originating_dsa_dn_1, sizeof(uint16_t)));
12790 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, length_originating_dsa_dn_1, sizeof(uint16_t), CH_UTF16));
12791 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
12794 return NDR_ERR_SUCCESS;
12797 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
12799 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
12800 if (r == NULL) { ndr_print_null(ndr); return; }
12802 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
12804 if (r->attribute_name) {
12805 ndr_print_string(ndr, "attribute_name", r->attribute_name);
12808 ndr_print_ptr(ndr, "object_dn", r->object_dn);
12810 if (r->object_dn) {
12811 ndr_print_string(ndr, "object_dn", r->object_dn);
12814 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);
12815 ndr_print_ptr(ndr, "binary", r->binary);
12818 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
12821 ndr_print_NTTIME(ndr, "deleted", r->deleted);
12822 ndr_print_NTTIME(ndr, "created", r->created);
12823 ndr_print_uint32(ndr, "version", r->version);
12824 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
12825 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
12826 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
12827 ndr_print_hyper(ndr, "local_usn", r->local_usn);
12828 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
12830 if (r->originating_dsa_dn) {
12831 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
12837 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
12839 uint32_t cntr_array_0;
12840 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12841 if (ndr_flags & NDR_SCALARS) {
12842 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12843 NDR_CHECK(ndr_push_align(ndr, 8));
12844 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12845 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
12846 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12847 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12849 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12851 if (ndr_flags & NDR_BUFFERS) {
12852 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12853 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12856 return NDR_ERR_SUCCESS;
12859 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
12861 uint32_t size_array_0 = 0;
12862 uint32_t cntr_array_0;
12863 TALLOC_CTX *_mem_save_array_0;
12864 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12865 if (ndr_flags & NDR_SCALARS) {
12866 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12867 NDR_CHECK(ndr_pull_align(ndr, 8));
12868 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12869 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
12870 size_array_0 = ndr_get_array_size(ndr, &r->array);
12871 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
12872 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12873 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12874 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
12875 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12877 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12879 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12881 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12883 if (ndr_flags & NDR_BUFFERS) {
12884 size_array_0 = ndr_get_array_size(ndr, &r->array);
12885 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12886 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12887 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
12888 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12890 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12892 return NDR_ERR_SUCCESS;
12895 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
12897 uint32_t cntr_array_0;
12898 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
12899 if (r == NULL) { ndr_print_null(ndr); return; }
12901 ndr_print_uint32(ndr, "count", r->count);
12902 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
12903 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12905 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12906 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
12912 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
12914 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12915 if (ndr_flags & NDR_SCALARS) {
12916 NDR_CHECK(ndr_push_align(ndr, 8));
12917 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
12918 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
12919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
12920 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
12921 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
12923 uint32_t _flags_save_ipv4address = ndr->flags;
12924 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
12925 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
12926 ndr->flags = _flags_save_ipv4address;
12928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
12929 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12931 if (ndr_flags & NDR_BUFFERS) {
12933 return NDR_ERR_SUCCESS;
12936 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
12938 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
12939 if (ndr_flags & NDR_SCALARS) {
12940 NDR_CHECK(ndr_pull_align(ndr, 8));
12941 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
12942 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
12943 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
12944 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
12945 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
12947 uint32_t _flags_save_ipv4address = ndr->flags;
12948 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
12949 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
12950 ndr->flags = _flags_save_ipv4address;
12952 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
12953 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12955 if (ndr_flags & NDR_BUFFERS) {
12957 return NDR_ERR_SUCCESS;
12960 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
12962 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
12963 if (r == NULL) { ndr_print_null(ndr); return; }
12965 ndr_print_hyper(ndr, "u1", r->u1);
12966 ndr_print_uint32(ndr, "u2", r->u2);
12967 ndr_print_uint32(ndr, "u3", r->u3);
12968 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
12969 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
12970 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
12971 ndr_print_uint32(ndr, "u5", r->u5);
12975 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
12977 uint32_t cntr_array_0;
12978 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
12979 if (ndr_flags & NDR_SCALARS) {
12980 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12981 NDR_CHECK(ndr_push_align(ndr, 8));
12982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12983 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
12984 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12985 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12987 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12989 if (ndr_flags & NDR_BUFFERS) {
12991 return NDR_ERR_SUCCESS;
12994 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
12996 uint32_t size_array_0 = 0;
12997 uint32_t cntr_array_0;
12998 TALLOC_CTX *_mem_save_array_0;
12999 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13000 if (ndr_flags & NDR_SCALARS) {
13001 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
13002 NDR_CHECK(ndr_pull_align(ndr, 8));
13003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
13004 if (r->count > 10000) {
13005 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13007 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
13008 size_array_0 = ndr_get_array_size(ndr, &r->array);
13009 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
13010 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13011 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
13012 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
13013 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
13015 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
13017 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
13019 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
13021 if (ndr_flags & NDR_BUFFERS) {
13023 return NDR_ERR_SUCCESS;
13026 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
13028 uint32_t cntr_array_0;
13029 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
13030 if (r == NULL) { ndr_print_null(ndr); return; }
13032 ndr_print_uint32(ndr, "count", r->count);
13033 ndr_print_uint32(ndr, "reserved", r->reserved);
13034 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
13036 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
13037 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
13043 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
13045 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13046 if (ndr_flags & NDR_SCALARS) {
13047 NDR_CHECK(ndr_push_align(ndr, 8));
13048 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
13049 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
13050 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
13051 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
13052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
13053 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
13054 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
13055 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
13056 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
13058 if (ndr_flags & NDR_BUFFERS) {
13060 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
13061 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13062 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
13063 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13066 return NDR_ERR_SUCCESS;
13069 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
13071 uint32_t _ptr_str1;
13072 uint32_t size_str1_1 = 0;
13073 uint32_t length_str1_1 = 0;
13074 TALLOC_CTX *_mem_save_str1_0;
13075 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13076 if (ndr_flags & NDR_SCALARS) {
13077 NDR_CHECK(ndr_pull_align(ndr, 8));
13078 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
13080 NDR_PULL_ALLOC(ndr, r->str1);
13084 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
13085 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
13086 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
13087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
13088 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
13089 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
13090 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
13091 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
13093 if (ndr_flags & NDR_BUFFERS) {
13095 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
13096 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
13097 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
13098 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
13099 size_str1_1 = ndr_get_array_size(ndr, &r->str1);
13100 length_str1_1 = ndr_get_array_length(ndr, &r->str1);
13101 if (length_str1_1 > size_str1_1) {
13102 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_str1_1, length_str1_1);
13104 NDR_CHECK(ndr_check_string_terminator(ndr, length_str1_1, sizeof(uint16_t)));
13105 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, length_str1_1, sizeof(uint16_t), CH_UTF16));
13106 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
13109 return NDR_ERR_SUCCESS;
13112 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
13114 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
13115 if (r == NULL) { ndr_print_null(ndr); return; }
13117 ndr_print_ptr(ndr, "str1", r->str1);
13120 ndr_print_string(ndr, "str1", r->str1);
13123 ndr_print_uint32(ndr, "u1", r->u1);
13124 ndr_print_uint32(ndr, "u2", r->u2);
13125 ndr_print_uint32(ndr, "u3", r->u3);
13126 ndr_print_uint32(ndr, "u4", r->u4);
13127 ndr_print_uint32(ndr, "u5", r->u5);
13128 ndr_print_hyper(ndr, "u6", r->u6);
13129 ndr_print_uint32(ndr, "u7", r->u7);
13133 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
13135 uint32_t cntr_array_0;
13136 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13137 if (ndr_flags & NDR_SCALARS) {
13138 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
13139 NDR_CHECK(ndr_push_align(ndr, 8));
13140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
13141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
13142 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
13143 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
13145 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
13147 if (ndr_flags & NDR_BUFFERS) {
13148 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
13149 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
13152 return NDR_ERR_SUCCESS;
13155 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
13157 uint32_t size_array_0 = 0;
13158 uint32_t cntr_array_0;
13159 TALLOC_CTX *_mem_save_array_0;
13160 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13161 if (ndr_flags & NDR_SCALARS) {
13162 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
13163 NDR_CHECK(ndr_pull_align(ndr, 8));
13164 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
13165 if (r->count > 256) {
13166 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13168 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
13169 size_array_0 = ndr_get_array_size(ndr, &r->array);
13170 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
13171 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13172 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
13173 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
13174 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
13176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
13178 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
13180 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
13182 if (ndr_flags & NDR_BUFFERS) {
13183 size_array_0 = ndr_get_array_size(ndr, &r->array);
13184 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13185 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
13186 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
13187 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
13189 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
13191 return NDR_ERR_SUCCESS;
13194 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
13196 uint32_t cntr_array_0;
13197 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
13198 if (r == NULL) { ndr_print_null(ndr); return; }
13200 ndr_print_uint32(ndr, "count", r->count);
13201 ndr_print_uint32(ndr, "reserved", r->reserved);
13202 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
13204 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
13205 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
13211 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
13213 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13214 if (ndr_flags & NDR_SCALARS) {
13215 uint32_t level = ndr_push_get_switch_value(ndr, r);
13216 NDR_CHECK(ndr_push_union_align(ndr, 5));
13217 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
13218 NDR_CHECK(ndr_push_union_align(ndr, 5));
13220 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
13221 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
13224 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
13225 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
13228 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
13229 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
13232 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
13233 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
13236 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
13237 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
13240 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
13241 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
13244 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
13245 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
13248 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
13249 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
13252 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
13253 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
13256 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
13257 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
13260 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
13261 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
13264 case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
13265 NDR_CHECK(ndr_push_unique_ptr(ndr, r->repsto));
13268 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
13269 NDR_CHECK(ndr_push_unique_ptr(ndr, r->clientctx));
13272 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
13273 NDR_CHECK(ndr_push_unique_ptr(ndr, r->udv1));
13276 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
13277 NDR_CHECK(ndr_push_unique_ptr(ndr, r->srvoutgoingcalls));
13281 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13284 if (ndr_flags & NDR_BUFFERS) {
13285 uint32_t level = ndr_push_get_switch_value(ndr, r);
13287 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
13288 if (r->neighbours) {
13289 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
13293 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
13295 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
13299 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
13300 if (r->objmetadata) {
13301 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
13305 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
13306 if (r->connectfailures) {
13307 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
13311 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
13312 if (r->linkfailures) {
13313 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
13317 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
13318 if (r->pendingops) {
13319 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
13323 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
13324 if (r->attrvalmetadata) {
13325 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
13329 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
13331 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
13335 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
13337 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
13341 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
13342 if (r->objmetadata2) {
13343 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
13347 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
13348 if (r->attrvalmetadata2) {
13349 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
13353 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
13355 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
13359 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
13360 if (r->clientctx) {
13361 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
13365 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
13367 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
13371 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
13372 if (r->srvoutgoingcalls) {
13373 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
13378 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13381 return NDR_ERR_SUCCESS;
13384 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
13388 TALLOC_CTX *_mem_save_neighbours_0;
13389 uint32_t _ptr_neighbours;
13390 TALLOC_CTX *_mem_save_cursors_0;
13391 uint32_t _ptr_cursors;
13392 TALLOC_CTX *_mem_save_objmetadata_0;
13393 uint32_t _ptr_objmetadata;
13394 TALLOC_CTX *_mem_save_connectfailures_0;
13395 uint32_t _ptr_connectfailures;
13396 TALLOC_CTX *_mem_save_linkfailures_0;
13397 uint32_t _ptr_linkfailures;
13398 TALLOC_CTX *_mem_save_pendingops_0;
13399 uint32_t _ptr_pendingops;
13400 TALLOC_CTX *_mem_save_attrvalmetadata_0;
13401 uint32_t _ptr_attrvalmetadata;
13402 TALLOC_CTX *_mem_save_cursors2_0;
13403 uint32_t _ptr_cursors2;
13404 TALLOC_CTX *_mem_save_cursors3_0;
13405 uint32_t _ptr_cursors3;
13406 TALLOC_CTX *_mem_save_objmetadata2_0;
13407 uint32_t _ptr_objmetadata2;
13408 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
13409 uint32_t _ptr_attrvalmetadata2;
13410 TALLOC_CTX *_mem_save_repsto_0;
13411 uint32_t _ptr_repsto;
13412 TALLOC_CTX *_mem_save_clientctx_0;
13413 uint32_t _ptr_clientctx;
13414 TALLOC_CTX *_mem_save_udv1_0;
13415 uint32_t _ptr_udv1;
13416 TALLOC_CTX *_mem_save_srvoutgoingcalls_0;
13417 uint32_t _ptr_srvoutgoingcalls;
13418 level = ndr_pull_get_switch_value(ndr, r);
13419 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13420 if (ndr_flags & NDR_SCALARS) {
13421 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13422 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
13423 if (_level != level) {
13424 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13426 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13428 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
13429 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
13430 if (_ptr_neighbours) {
13431 NDR_PULL_ALLOC(ndr, r->neighbours);
13433 r->neighbours = NULL;
13437 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
13438 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
13439 if (_ptr_cursors) {
13440 NDR_PULL_ALLOC(ndr, r->cursors);
13446 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
13447 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
13448 if (_ptr_objmetadata) {
13449 NDR_PULL_ALLOC(ndr, r->objmetadata);
13451 r->objmetadata = NULL;
13455 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
13456 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
13457 if (_ptr_connectfailures) {
13458 NDR_PULL_ALLOC(ndr, r->connectfailures);
13460 r->connectfailures = NULL;
13464 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
13465 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
13466 if (_ptr_linkfailures) {
13467 NDR_PULL_ALLOC(ndr, r->linkfailures);
13469 r->linkfailures = NULL;
13473 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
13474 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
13475 if (_ptr_pendingops) {
13476 NDR_PULL_ALLOC(ndr, r->pendingops);
13478 r->pendingops = NULL;
13482 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
13483 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
13484 if (_ptr_attrvalmetadata) {
13485 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
13487 r->attrvalmetadata = NULL;
13491 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
13492 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
13493 if (_ptr_cursors2) {
13494 NDR_PULL_ALLOC(ndr, r->cursors2);
13496 r->cursors2 = NULL;
13500 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
13501 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
13502 if (_ptr_cursors3) {
13503 NDR_PULL_ALLOC(ndr, r->cursors3);
13505 r->cursors3 = NULL;
13509 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
13510 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
13511 if (_ptr_objmetadata2) {
13512 NDR_PULL_ALLOC(ndr, r->objmetadata2);
13514 r->objmetadata2 = NULL;
13518 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
13519 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
13520 if (_ptr_attrvalmetadata2) {
13521 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
13523 r->attrvalmetadata2 = NULL;
13527 case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
13528 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_repsto));
13530 NDR_PULL_ALLOC(ndr, r->repsto);
13536 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
13537 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_clientctx));
13538 if (_ptr_clientctx) {
13539 NDR_PULL_ALLOC(ndr, r->clientctx);
13541 r->clientctx = NULL;
13545 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
13546 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_udv1));
13548 NDR_PULL_ALLOC(ndr, r->udv1);
13554 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
13555 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_srvoutgoingcalls));
13556 if (_ptr_srvoutgoingcalls) {
13557 NDR_PULL_ALLOC(ndr, r->srvoutgoingcalls);
13559 r->srvoutgoingcalls = NULL;
13564 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13567 if (ndr_flags & NDR_BUFFERS) {
13569 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
13570 if (r->neighbours) {
13571 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
13572 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
13573 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
13574 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
13578 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
13580 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
13581 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
13582 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
13583 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
13587 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
13588 if (r->objmetadata) {
13589 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
13590 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
13591 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
13592 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
13596 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
13597 if (r->connectfailures) {
13598 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
13599 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
13600 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
13601 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
13605 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
13606 if (r->linkfailures) {
13607 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
13608 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
13609 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
13610 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
13614 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
13615 if (r->pendingops) {
13616 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
13617 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
13618 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
13619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
13623 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
13624 if (r->attrvalmetadata) {
13625 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
13626 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
13627 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
13628 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
13632 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
13634 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
13635 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
13636 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
13637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
13641 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
13643 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
13644 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
13645 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
13646 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
13650 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
13651 if (r->objmetadata2) {
13652 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
13653 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
13654 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
13655 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
13659 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
13660 if (r->attrvalmetadata2) {
13661 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
13662 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
13663 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
13664 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
13668 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
13670 _mem_save_repsto_0 = NDR_PULL_GET_MEM_CTX(ndr);
13671 NDR_PULL_SET_MEM_CTX(ndr, r->repsto, 0);
13672 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
13673 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_repsto_0, 0);
13677 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
13678 if (r->clientctx) {
13679 _mem_save_clientctx_0 = NDR_PULL_GET_MEM_CTX(ndr);
13680 NDR_PULL_SET_MEM_CTX(ndr, r->clientctx, 0);
13681 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
13682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_clientctx_0, 0);
13686 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
13688 _mem_save_udv1_0 = NDR_PULL_GET_MEM_CTX(ndr);
13689 NDR_PULL_SET_MEM_CTX(ndr, r->udv1, 0);
13690 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
13691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_udv1_0, 0);
13695 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
13696 if (r->srvoutgoingcalls) {
13697 _mem_save_srvoutgoingcalls_0 = NDR_PULL_GET_MEM_CTX(ndr);
13698 NDR_PULL_SET_MEM_CTX(ndr, r->srvoutgoingcalls, 0);
13699 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
13700 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_srvoutgoingcalls_0, 0);
13705 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13708 return NDR_ERR_SUCCESS;
13711 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
13714 level = ndr_print_get_switch_value(ndr, r);
13715 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
13717 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
13718 ndr_print_ptr(ndr, "neighbours", r->neighbours);
13720 if (r->neighbours) {
13721 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
13726 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
13727 ndr_print_ptr(ndr, "cursors", r->cursors);
13730 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
13735 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
13736 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
13738 if (r->objmetadata) {
13739 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
13744 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
13745 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
13747 if (r->connectfailures) {
13748 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
13753 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
13754 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
13756 if (r->linkfailures) {
13757 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
13762 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
13763 ndr_print_ptr(ndr, "pendingops", r->pendingops);
13765 if (r->pendingops) {
13766 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
13771 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
13772 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
13774 if (r->attrvalmetadata) {
13775 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
13780 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
13781 ndr_print_ptr(ndr, "cursors2", r->cursors2);
13784 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
13789 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
13790 ndr_print_ptr(ndr, "cursors3", r->cursors3);
13793 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
13798 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
13799 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
13801 if (r->objmetadata2) {
13802 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
13807 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
13808 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
13810 if (r->attrvalmetadata2) {
13811 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
13816 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
13817 ndr_print_ptr(ndr, "repsto", r->repsto);
13820 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "repsto", r->repsto);
13825 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
13826 ndr_print_ptr(ndr, "clientctx", r->clientctx);
13828 if (r->clientctx) {
13829 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "clientctx", r->clientctx);
13834 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
13835 ndr_print_ptr(ndr, "udv1", r->udv1);
13838 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "udv1", r->udv1);
13843 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
13844 ndr_print_ptr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
13846 if (r->srvoutgoingcalls) {
13847 ndr_print_drsuapi_DsReplica06Ctr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
13853 ndr_print_bad_level(ndr, name, level);
13857 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
13859 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13860 if (ndr_flags & NDR_SCALARS) {
13861 uint32_t level = ndr_push_get_switch_value(ndr, r);
13862 NDR_CHECK(ndr_push_union_align(ndr, 5));
13863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
13864 NDR_CHECK(ndr_push_union_align(ndr, 5));
13867 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
13871 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13874 if (ndr_flags & NDR_BUFFERS) {
13875 uint32_t level = ndr_push_get_switch_value(ndr, r);
13878 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13882 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13885 return NDR_ERR_SUCCESS;
13888 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
13892 level = ndr_pull_get_switch_value(ndr, r);
13893 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13894 if (ndr_flags & NDR_SCALARS) {
13895 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13896 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
13897 if (_level != level) {
13898 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13900 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13903 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
13907 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13910 if (ndr_flags & NDR_BUFFERS) {
13913 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13917 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13920 return NDR_ERR_SUCCESS;
13923 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
13926 level = ndr_print_get_switch_value(ndr, r);
13927 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
13930 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
13934 ndr_print_bad_level(ndr, name, level);
13938 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
13940 uint32_t cntr_req_array_1;
13941 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13942 if (ndr_flags & NDR_SCALARS) {
13943 NDR_CHECK(ndr_push_align(ndr, 5));
13944 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
13945 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
13946 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13948 if (ndr_flags & NDR_BUFFERS) {
13949 if (r->req_array) {
13950 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13951 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
13952 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
13954 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
13955 if (r->req_array[cntr_req_array_1]) {
13956 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
13961 return NDR_ERR_SUCCESS;
13964 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
13966 uint32_t _ptr_req_array;
13967 uint32_t size_req_array_1 = 0;
13968 uint32_t cntr_req_array_1;
13969 TALLOC_CTX *_mem_save_req_array_0;
13970 TALLOC_CTX *_mem_save_req_array_1;
13971 TALLOC_CTX *_mem_save_req_array_2;
13972 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
13973 if (ndr_flags & NDR_SCALARS) {
13974 NDR_CHECK(ndr_pull_align(ndr, 5));
13975 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13976 if (r->num_req < 1 || r->num_req > 10000) {
13977 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13979 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
13980 if (_ptr_req_array) {
13981 NDR_PULL_ALLOC(ndr, r->req_array);
13983 r->req_array = NULL;
13985 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13987 if (ndr_flags & NDR_BUFFERS) {
13988 if (r->req_array) {
13989 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
13990 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
13991 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
13992 size_req_array_1 = ndr_get_array_size(ndr, &r->req_array);
13993 NDR_PULL_ALLOC_N(ndr, r->req_array, size_req_array_1);
13994 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
13995 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
13996 for (cntr_req_array_1 = 0; cntr_req_array_1 < size_req_array_1; cntr_req_array_1++) {
13997 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
13998 if (_ptr_req_array) {
13999 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
14001 r->req_array[cntr_req_array_1] = NULL;
14004 for (cntr_req_array_1 = 0; cntr_req_array_1 < size_req_array_1; cntr_req_array_1++) {
14005 if (r->req_array[cntr_req_array_1]) {
14006 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
14007 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
14008 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
14009 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
14012 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
14013 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
14015 if (r->req_array) {
14016 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
14019 return NDR_ERR_SUCCESS;
14022 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
14024 uint32_t cntr_req_array_1;
14025 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
14026 if (r == NULL) { ndr_print_null(ndr); return; }
14028 ndr_print_uint32(ndr, "num_req", r->num_req);
14029 ndr_print_ptr(ndr, "req_array", r->req_array);
14031 if (r->req_array) {
14032 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
14034 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
14035 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
14037 if (r->req_array[cntr_req_array_1]) {
14038 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
14048 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
14050 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14051 if (ndr_flags & NDR_SCALARS) {
14052 uint32_t level = ndr_push_get_switch_value(ndr, r);
14053 NDR_CHECK(ndr_push_union_align(ndr, 5));
14054 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
14055 NDR_CHECK(ndr_push_union_align(ndr, 5));
14058 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
14062 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14065 if (ndr_flags & NDR_BUFFERS) {
14066 uint32_t level = ndr_push_get_switch_value(ndr, r);
14069 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
14073 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14076 return NDR_ERR_SUCCESS;
14079 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
14083 level = ndr_pull_get_switch_value(ndr, r);
14084 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
14085 if (ndr_flags & NDR_SCALARS) {
14086 NDR_CHECK(ndr_pull_union_align(ndr, 5));
14087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
14088 if (_level != level) {
14089 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
14091 NDR_CHECK(ndr_pull_union_align(ndr, 5));
14094 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
14098 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14101 if (ndr_flags & NDR_BUFFERS) {
14104 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
14108 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14111 return NDR_ERR_SUCCESS;
14114 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
14117 level = ndr_print_get_switch_value(ndr, r);
14118 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
14121 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
14125 ndr_print_bad_level(ndr, name, level);
14129 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
14131 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14132 if (ndr_flags & NDR_SCALARS) {
14133 NDR_CHECK(ndr_push_align(ndr, 4));
14134 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
14135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
14136 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
14138 if (ndr_flags & NDR_BUFFERS) {
14140 return NDR_ERR_SUCCESS;
14143 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
14145 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
14146 if (ndr_flags & NDR_SCALARS) {
14147 NDR_CHECK(ndr_pull_align(ndr, 4));
14148 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
14149 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
14150 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
14152 if (ndr_flags & NDR_BUFFERS) {
14154 return NDR_ERR_SUCCESS;
14157 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
14159 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
14160 if (r == NULL) { ndr_print_null(ndr); return; }
14162 ndr_print_WERROR(ndr, "error_code", r->error_code);
14163 ndr_print_uint32(ndr, "site_cost", r->site_cost);
14167 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
14169 uint32_t cntr_info_1;
14170 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14171 if (ndr_flags & NDR_SCALARS) {
14172 NDR_CHECK(ndr_push_align(ndr, 5));
14173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
14174 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
14175 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14176 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
14178 if (ndr_flags & NDR_BUFFERS) {
14180 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
14181 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
14182 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
14186 return NDR_ERR_SUCCESS;
14189 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
14191 uint32_t _ptr_info;
14192 uint32_t size_info_1 = 0;
14193 uint32_t cntr_info_1;
14194 TALLOC_CTX *_mem_save_info_0;
14195 TALLOC_CTX *_mem_save_info_1;
14196 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
14197 if (ndr_flags & NDR_SCALARS) {
14198 NDR_CHECK(ndr_pull_align(ndr, 5));
14199 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
14200 if (r->num_info > 10000) {
14201 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14203 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
14205 NDR_PULL_ALLOC(ndr, r->info);
14209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags_reserved));
14210 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
14212 if (ndr_flags & NDR_BUFFERS) {
14214 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14215 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
14216 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
14217 size_info_1 = ndr_get_array_size(ndr, &r->info);
14218 NDR_PULL_ALLOC_N(ndr, r->info, size_info_1);
14219 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14220 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
14221 for (cntr_info_1 = 0; cntr_info_1 < size_info_1; cntr_info_1++) {
14222 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
14224 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
14225 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
14228 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
14231 return NDR_ERR_SUCCESS;
14234 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
14236 uint32_t cntr_info_1;
14237 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
14238 if (r == NULL) { ndr_print_null(ndr); return; }
14240 ndr_print_uint32(ndr, "num_info", r->num_info);
14241 ndr_print_ptr(ndr, "info", r->info);
14244 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
14246 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
14247 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
14252 ndr_print_uint32(ndr, "flags_reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags_reserved);
14256 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
14258 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14259 if (ndr_flags & NDR_SCALARS) {
14260 uint32_t level = ndr_push_get_switch_value(ndr, r);
14261 NDR_CHECK(ndr_push_union_align(ndr, 5));
14262 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
14263 NDR_CHECK(ndr_push_union_align(ndr, 5));
14266 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
14270 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14273 if (ndr_flags & NDR_BUFFERS) {
14274 uint32_t level = ndr_push_get_switch_value(ndr, r);
14277 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
14281 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14284 return NDR_ERR_SUCCESS;
14287 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
14291 level = ndr_pull_get_switch_value(ndr, r);
14292 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
14293 if (ndr_flags & NDR_SCALARS) {
14294 NDR_CHECK(ndr_pull_union_align(ndr, 5));
14295 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
14296 if (_level != level) {
14297 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
14299 NDR_CHECK(ndr_pull_union_align(ndr, 5));
14302 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
14306 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14309 if (ndr_flags & NDR_BUFFERS) {
14312 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
14316 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14319 return NDR_ERR_SUCCESS;
14322 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
14325 level = ndr_print_get_switch_value(ndr, r);
14326 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
14329 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
14333 ndr_print_bad_level(ndr, name, level);
14337 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
14339 uint32_t cntr_site_to_1;
14340 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14341 if (ndr_flags & NDR_SCALARS) {
14342 NDR_CHECK(ndr_push_align(ndr, 5));
14343 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
14344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
14345 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
14346 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
14347 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
14349 if (ndr_flags & NDR_BUFFERS) {
14350 if (r->site_from) {
14351 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
14352 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14353 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
14354 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
14357 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
14358 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
14359 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
14361 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
14362 if (r->site_to[cntr_site_to_1]) {
14363 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
14364 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14365 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
14366 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));
14371 return NDR_ERR_SUCCESS;
14374 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
14376 uint32_t _ptr_site_from;
14377 uint32_t size_site_from_1 = 0;
14378 uint32_t length_site_from_1 = 0;
14379 TALLOC_CTX *_mem_save_site_from_0;
14380 uint32_t _ptr_site_to;
14381 uint32_t size_site_to_1 = 0;
14382 uint32_t cntr_site_to_1;
14383 uint32_t size_site_to_3 = 0;
14384 uint32_t length_site_to_3 = 0;
14385 TALLOC_CTX *_mem_save_site_to_0;
14386 TALLOC_CTX *_mem_save_site_to_1;
14387 TALLOC_CTX *_mem_save_site_to_2;
14388 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
14389 if (ndr_flags & NDR_SCALARS) {
14390 NDR_CHECK(ndr_pull_align(ndr, 5));
14391 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
14392 if (_ptr_site_from) {
14393 NDR_PULL_ALLOC(ndr, r->site_from);
14395 r->site_from = NULL;
14397 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
14398 if (r->num_req < 1 || r->num_req > 10000) {
14399 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14401 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
14402 if (_ptr_site_to) {
14403 NDR_PULL_ALLOC(ndr, r->site_to);
14407 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
14408 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
14410 if (ndr_flags & NDR_BUFFERS) {
14411 if (r->site_from) {
14412 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
14413 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
14414 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
14415 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
14416 size_site_from_1 = ndr_get_array_size(ndr, &r->site_from);
14417 length_site_from_1 = ndr_get_array_length(ndr, &r->site_from);
14418 if (length_site_from_1 > size_site_from_1) {
14419 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_from_1, length_site_from_1);
14421 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_from_1, sizeof(uint16_t)));
14422 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, length_site_from_1, sizeof(uint16_t), CH_UTF16));
14423 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
14426 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
14427 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
14428 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
14429 size_site_to_1 = ndr_get_array_size(ndr, &r->site_to);
14430 NDR_PULL_ALLOC_N(ndr, r->site_to, size_site_to_1);
14431 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
14432 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
14433 for (cntr_site_to_1 = 0; cntr_site_to_1 < size_site_to_1; cntr_site_to_1++) {
14434 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
14435 if (_ptr_site_to) {
14436 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
14438 r->site_to[cntr_site_to_1] = NULL;
14441 for (cntr_site_to_1 = 0; cntr_site_to_1 < size_site_to_1; cntr_site_to_1++) {
14442 if (r->site_to[cntr_site_to_1]) {
14443 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
14444 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
14445 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
14446 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
14447 size_site_to_3 = ndr_get_array_size(ndr, &r->site_to[cntr_site_to_1]);
14448 length_site_to_3 = ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]);
14449 if (length_site_to_3 > size_site_to_3) {
14450 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_to_3, length_site_to_3);
14452 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_to_3, sizeof(uint16_t)));
14453 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_to[cntr_site_to_1], length_site_to_3, sizeof(uint16_t), CH_UTF16));
14454 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
14457 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
14458 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
14461 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
14464 return NDR_ERR_SUCCESS;
14467 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
14469 uint32_t cntr_site_to_1;
14470 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
14471 if (r == NULL) { ndr_print_null(ndr); return; }
14473 ndr_print_ptr(ndr, "site_from", r->site_from);
14475 if (r->site_from) {
14476 ndr_print_string(ndr, "site_from", r->site_from);
14479 ndr_print_uint32(ndr, "num_req", r->num_req);
14480 ndr_print_ptr(ndr, "site_to", r->site_to);
14483 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
14485 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
14486 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
14488 if (r->site_to[cntr_site_to_1]) {
14489 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
14496 ndr_print_uint32(ndr, "flags", r->flags);
14500 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
14502 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
14503 if (ndr_flags & NDR_SCALARS) {
14504 uint32_t level = ndr_push_get_switch_value(ndr, r);
14505 NDR_CHECK(ndr_push_union_align(ndr, 5));
14506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
14507 NDR_CHECK(ndr_push_union_align(ndr, 5));
14510 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
14514 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14517 if (ndr_flags & NDR_BUFFERS) {
14518 uint32_t level = ndr_push_get_switch_value(ndr, r);
14521 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
14525 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14528 return NDR_ERR_SUCCESS;
14531 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
14535 level = ndr_pull_get_switch_value(ndr, r);
14536 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
14537 if (ndr_flags & NDR_SCALARS) {
14538 NDR_CHECK(ndr_pull_union_align(ndr, 5));
14539 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
14540 if (_level != level) {
14541 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
14543 NDR_CHECK(ndr_pull_union_align(ndr, 5));
14546 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
14550 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14553 if (ndr_flags & NDR_BUFFERS) {
14556 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
14560 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
14563 return NDR_ERR_SUCCESS;
14566 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
14569 level = ndr_print_get_switch_value(ndr, r);
14570 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
14573 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
14577 ndr_print_bad_level(ndr, name, level);
14581 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
14583 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
14584 if (flags & NDR_IN) {
14585 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
14586 if (r->in.bind_guid) {
14587 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
14589 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
14590 if (r->in.bind_info) {
14591 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
14594 if (flags & NDR_OUT) {
14595 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
14596 if (r->out.bind_info) {
14597 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
14599 if (r->out.bind_handle == NULL) {
14600 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14602 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
14603 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14605 return NDR_ERR_SUCCESS;
14608 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
14610 uint32_t _ptr_bind_guid;
14611 uint32_t _ptr_bind_info;
14612 TALLOC_CTX *_mem_save_bind_guid_0;
14613 TALLOC_CTX *_mem_save_bind_info_0;
14614 TALLOC_CTX *_mem_save_bind_handle_0;
14615 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
14616 if (flags & NDR_IN) {
14617 ZERO_STRUCT(r->out);
14619 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
14620 if (_ptr_bind_guid) {
14621 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
14623 r->in.bind_guid = NULL;
14625 if (r->in.bind_guid) {
14626 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14627 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
14628 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
14629 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
14631 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
14632 if (_ptr_bind_info) {
14633 NDR_PULL_ALLOC(ndr, r->in.bind_info);
14635 r->in.bind_info = NULL;
14637 if (r->in.bind_info) {
14638 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14639 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
14640 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
14641 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
14643 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
14644 ZERO_STRUCTP(r->out.bind_handle);
14646 if (flags & NDR_OUT) {
14647 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
14648 if (_ptr_bind_info) {
14649 NDR_PULL_ALLOC(ndr, r->out.bind_info);
14651 r->out.bind_info = NULL;
14653 if (r->out.bind_info) {
14654 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14655 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
14656 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
14657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
14659 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14660 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
14662 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14663 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14664 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
14665 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14666 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14668 return NDR_ERR_SUCCESS;
14671 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
14673 ndr_print_struct(ndr, name, "drsuapi_DsBind");
14674 if (r == NULL) { ndr_print_null(ndr); return; }
14676 if (flags & NDR_SET_VALUES) {
14677 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14679 if (flags & NDR_IN) {
14680 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
14682 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
14684 if (r->in.bind_guid) {
14685 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
14688 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
14690 if (r->in.bind_info) {
14691 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
14696 if (flags & NDR_OUT) {
14697 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
14699 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
14701 if (r->out.bind_info) {
14702 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
14705 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
14707 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
14709 ndr_print_WERROR(ndr, "result", r->out.result);
14715 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
14717 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
14718 if (flags & NDR_IN) {
14719 if (r->in.bind_handle == NULL) {
14720 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14722 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14724 if (flags & NDR_OUT) {
14725 if (r->out.bind_handle == NULL) {
14726 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14728 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
14729 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14731 return NDR_ERR_SUCCESS;
14734 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
14736 TALLOC_CTX *_mem_save_bind_handle_0;
14737 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
14738 if (flags & NDR_IN) {
14739 ZERO_STRUCT(r->out);
14741 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14742 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14744 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14745 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14746 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14747 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14748 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
14749 *r->out.bind_handle = *r->in.bind_handle;
14751 if (flags & NDR_OUT) {
14752 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14753 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
14755 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14756 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14757 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
14758 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14759 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14761 return NDR_ERR_SUCCESS;
14764 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
14766 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
14767 if (r == NULL) { ndr_print_null(ndr); return; }
14769 if (flags & NDR_SET_VALUES) {
14770 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14772 if (flags & NDR_IN) {
14773 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
14775 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14777 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14781 if (flags & NDR_OUT) {
14782 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
14784 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
14786 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
14788 ndr_print_WERROR(ndr, "result", r->out.result);
14794 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
14796 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
14797 if (flags & NDR_IN) {
14798 if (r->in.bind_handle == NULL) {
14799 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14801 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14802 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14803 if (r->in.req == NULL) {
14804 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14806 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14807 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14809 if (flags & NDR_OUT) {
14810 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14812 return NDR_ERR_SUCCESS;
14815 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
14817 TALLOC_CTX *_mem_save_bind_handle_0;
14818 TALLOC_CTX *_mem_save_req_0;
14819 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
14820 if (flags & NDR_IN) {
14821 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14822 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14824 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14825 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14826 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14827 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14828 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14829 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14830 NDR_PULL_ALLOC(ndr, r->in.req);
14832 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14833 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14834 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14835 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14836 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14838 if (flags & NDR_OUT) {
14839 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14841 return NDR_ERR_SUCCESS;
14844 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
14846 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
14847 if (r == NULL) { ndr_print_null(ndr); return; }
14849 if (flags & NDR_SET_VALUES) {
14850 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14852 if (flags & NDR_IN) {
14853 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
14855 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14857 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14859 ndr_print_uint32(ndr, "level", r->in.level);
14860 ndr_print_ptr(ndr, "req", r->in.req);
14862 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14863 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", r->in.req);
14867 if (flags & NDR_OUT) {
14868 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
14870 ndr_print_WERROR(ndr, "result", r->out.result);
14876 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
14878 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
14879 if (flags & NDR_IN) {
14880 if (r->in.bind_handle == NULL) {
14881 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14883 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14885 if (r->in.req == NULL) {
14886 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14888 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14889 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14891 if (flags & NDR_OUT) {
14892 if (r->out.level_out == NULL) {
14893 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14895 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14896 if (r->out.ctr == NULL) {
14897 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14899 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14900 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14901 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14903 return NDR_ERR_SUCCESS;
14906 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
14908 TALLOC_CTX *_mem_save_bind_handle_0;
14909 TALLOC_CTX *_mem_save_req_0;
14910 TALLOC_CTX *_mem_save_level_out_0;
14911 TALLOC_CTX *_mem_save_ctr_0;
14912 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
14913 if (flags & NDR_IN) {
14914 ZERO_STRUCT(r->out);
14916 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14917 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14919 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14920 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14921 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14922 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14923 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14924 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14925 NDR_PULL_ALLOC(ndr, r->in.req);
14927 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14928 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14929 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14930 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14931 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14932 NDR_PULL_ALLOC(ndr, r->out.level_out);
14933 ZERO_STRUCTP(r->out.level_out);
14934 NDR_PULL_ALLOC(ndr, r->out.ctr);
14935 ZERO_STRUCTP(r->out.ctr);
14937 if (flags & NDR_OUT) {
14938 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14939 NDR_PULL_ALLOC(ndr, r->out.level_out);
14941 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14942 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14943 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14944 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14945 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14946 NDR_PULL_ALLOC(ndr, r->out.ctr);
14948 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14949 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14950 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14951 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14952 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14953 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14955 return NDR_ERR_SUCCESS;
14958 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
14960 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
14961 if (r == NULL) { ndr_print_null(ndr); return; }
14963 if (flags & NDR_SET_VALUES) {
14964 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14966 if (flags & NDR_IN) {
14967 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
14969 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14971 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14973 ndr_print_uint32(ndr, "level", r->in.level);
14974 ndr_print_ptr(ndr, "req", r->in.req);
14976 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14977 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
14981 if (flags & NDR_OUT) {
14982 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
14984 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14986 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14988 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14990 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14991 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
14993 ndr_print_WERROR(ndr, "result", r->out.result);
14999 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
15001 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15002 if (flags & NDR_IN) {
15003 if (r->in.bind_handle == NULL) {
15004 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15006 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15008 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
15009 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15011 if (flags & NDR_OUT) {
15012 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15014 return NDR_ERR_SUCCESS;
15017 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
15019 TALLOC_CTX *_mem_save_bind_handle_0;
15020 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15021 if (flags & NDR_IN) {
15022 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15023 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15025 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15026 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15027 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15029 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15030 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
15031 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15033 if (flags & NDR_OUT) {
15034 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15036 return NDR_ERR_SUCCESS;
15039 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
15041 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
15042 if (r == NULL) { ndr_print_null(ndr); return; }
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_DsReplicaUpdateRefs");
15050 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15052 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15054 ndr_print_uint32(ndr, "level", r->in.level);
15055 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
15056 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
15059 if (flags & NDR_OUT) {
15060 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
15062 ndr_print_WERROR(ndr, "result", r->out.result);
15068 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
15070 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15071 if (flags & NDR_IN) {
15072 if (r->in.bind_handle == NULL) {
15073 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15075 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15076 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15077 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
15078 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15080 if (flags & NDR_OUT) {
15081 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15083 return NDR_ERR_SUCCESS;
15086 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
15088 TALLOC_CTX *_mem_save_bind_handle_0;
15089 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15090 if (flags & NDR_IN) {
15091 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15092 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15094 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15095 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15096 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15098 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15099 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
15100 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15102 if (flags & NDR_OUT) {
15103 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15105 return NDR_ERR_SUCCESS;
15108 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
15110 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
15111 if (r == NULL) { ndr_print_null(ndr); return; }
15113 if (flags & NDR_SET_VALUES) {
15114 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15116 if (flags & NDR_IN) {
15117 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
15119 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15121 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15123 ndr_print_uint32(ndr, "level", r->in.level);
15124 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
15125 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
15128 if (flags & NDR_OUT) {
15129 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
15131 ndr_print_WERROR(ndr, "result", r->out.result);
15137 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
15139 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15140 if (flags & NDR_IN) {
15141 if (r->in.bind_handle == NULL) {
15142 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15144 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15146 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
15147 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15149 if (flags & NDR_OUT) {
15150 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15152 return NDR_ERR_SUCCESS;
15155 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
15157 TALLOC_CTX *_mem_save_bind_handle_0;
15158 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15159 if (flags & NDR_IN) {
15160 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15161 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15163 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15164 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15165 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15167 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15168 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
15169 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15171 if (flags & NDR_OUT) {
15172 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15174 return NDR_ERR_SUCCESS;
15177 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
15179 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
15180 if (r == NULL) { ndr_print_null(ndr); return; }
15182 if (flags & NDR_SET_VALUES) {
15183 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15185 if (flags & NDR_IN) {
15186 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
15188 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15190 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15192 ndr_print_uint32(ndr, "level", r->in.level);
15193 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
15194 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
15197 if (flags & NDR_OUT) {
15198 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
15200 ndr_print_WERROR(ndr, "result", r->out.result);
15206 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
15208 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15209 if (flags & NDR_IN) {
15210 if (r->in.bind_handle == NULL) {
15211 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15213 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15215 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
15216 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15218 if (flags & NDR_OUT) {
15219 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15221 return NDR_ERR_SUCCESS;
15224 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
15226 TALLOC_CTX *_mem_save_bind_handle_0;
15227 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15228 if (flags & NDR_IN) {
15229 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15230 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15232 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15233 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15234 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15235 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15236 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15237 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
15238 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
15240 if (flags & NDR_OUT) {
15241 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15243 return NDR_ERR_SUCCESS;
15246 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
15248 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
15249 if (r == NULL) { ndr_print_null(ndr); return; }
15251 if (flags & NDR_SET_VALUES) {
15252 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15254 if (flags & NDR_IN) {
15255 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
15257 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15259 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15261 ndr_print_uint32(ndr, "level", r->in.level);
15262 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
15263 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
15266 if (flags & NDR_OUT) {
15267 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
15269 ndr_print_WERROR(ndr, "result", r->out.result);
15275 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
15277 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15278 if (flags & NDR_IN) {
15280 if (flags & NDR_OUT) {
15281 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15283 return NDR_ERR_SUCCESS;
15286 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
15288 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15289 if (flags & NDR_IN) {
15291 if (flags & NDR_OUT) {
15292 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15294 return NDR_ERR_SUCCESS;
15297 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
15299 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
15300 if (r == NULL) { ndr_print_null(ndr); return; }
15302 if (flags & NDR_SET_VALUES) {
15303 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15305 if (flags & NDR_IN) {
15306 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
15310 if (flags & NDR_OUT) {
15311 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
15313 ndr_print_WERROR(ndr, "result", r->out.result);
15319 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
15321 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15322 if (flags & NDR_IN) {
15323 if (r->in.bind_handle == NULL) {
15324 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15326 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15327 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15328 if (r->in.req == NULL) {
15329 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15331 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15332 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15334 if (flags & NDR_OUT) {
15335 if (r->out.level_out == NULL) {
15336 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15338 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15339 if (r->out.ctr == NULL) {
15340 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15342 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15343 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15344 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15346 return NDR_ERR_SUCCESS;
15349 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
15351 TALLOC_CTX *_mem_save_bind_handle_0;
15352 TALLOC_CTX *_mem_save_req_0;
15353 TALLOC_CTX *_mem_save_level_out_0;
15354 TALLOC_CTX *_mem_save_ctr_0;
15355 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15356 if (flags & NDR_IN) {
15357 ZERO_STRUCT(r->out);
15359 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15360 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15362 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15363 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15364 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15365 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15366 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15367 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15368 NDR_PULL_ALLOC(ndr, r->in.req);
15370 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15371 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15372 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15373 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15374 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15375 NDR_PULL_ALLOC(ndr, r->out.level_out);
15376 ZERO_STRUCTP(r->out.level_out);
15377 NDR_PULL_ALLOC(ndr, r->out.ctr);
15378 ZERO_STRUCTP(r->out.ctr);
15380 if (flags & NDR_OUT) {
15381 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15382 NDR_PULL_ALLOC(ndr, r->out.level_out);
15384 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15385 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15386 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15388 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15389 NDR_PULL_ALLOC(ndr, r->out.ctr);
15391 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15392 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15393 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15394 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15395 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15396 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15398 return NDR_ERR_SUCCESS;
15401 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
15403 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
15404 if (r == NULL) { ndr_print_null(ndr); return; }
15406 if (flags & NDR_SET_VALUES) {
15407 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15409 if (flags & NDR_IN) {
15410 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
15412 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15414 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15416 ndr_print_uint32(ndr, "level", r->in.level);
15417 ndr_print_ptr(ndr, "req", r->in.req);
15419 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15420 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
15424 if (flags & NDR_OUT) {
15425 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
15427 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15429 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15431 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15433 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15434 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
15436 ndr_print_WERROR(ndr, "result", r->out.result);
15442 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
15444 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15445 if (flags & NDR_IN) {
15447 if (flags & NDR_OUT) {
15448 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15450 return NDR_ERR_SUCCESS;
15453 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
15455 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15456 if (flags & NDR_IN) {
15458 if (flags & NDR_OUT) {
15459 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15461 return NDR_ERR_SUCCESS;
15464 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
15466 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
15467 if (r == NULL) { ndr_print_null(ndr); return; }
15469 if (flags & NDR_SET_VALUES) {
15470 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15472 if (flags & NDR_IN) {
15473 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
15477 if (flags & NDR_OUT) {
15478 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
15480 ndr_print_WERROR(ndr, "result", r->out.result);
15486 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
15488 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15489 if (flags & NDR_IN) {
15490 if (r->in.bind_handle == NULL) {
15491 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15493 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15494 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15495 if (r->in.req == NULL) {
15496 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15498 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15499 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15501 if (flags & NDR_OUT) {
15502 if (r->out.level_out == NULL) {
15503 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15506 if (r->out.info == NULL) {
15507 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15509 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
15510 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15511 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15513 return NDR_ERR_SUCCESS;
15516 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
15518 TALLOC_CTX *_mem_save_bind_handle_0;
15519 TALLOC_CTX *_mem_save_req_0;
15520 TALLOC_CTX *_mem_save_level_out_0;
15521 TALLOC_CTX *_mem_save_info_0;
15522 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15523 if (flags & NDR_IN) {
15524 ZERO_STRUCT(r->out);
15526 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15527 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15529 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15530 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15531 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15532 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15533 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15534 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15535 NDR_PULL_ALLOC(ndr, r->in.req);
15537 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15538 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15539 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15540 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15541 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15542 NDR_PULL_ALLOC(ndr, r->out.level_out);
15543 ZERO_STRUCTP(r->out.level_out);
15544 NDR_PULL_ALLOC(ndr, r->out.info);
15545 ZERO_STRUCTP(r->out.info);
15547 if (flags & NDR_OUT) {
15548 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15549 NDR_PULL_ALLOC(ndr, r->out.level_out);
15551 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15552 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15553 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15554 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15555 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15556 NDR_PULL_ALLOC(ndr, r->out.info);
15558 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15559 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15560 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
15561 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15562 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15563 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15565 return NDR_ERR_SUCCESS;
15568 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
15570 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
15571 if (r == NULL) { ndr_print_null(ndr); return; }
15573 if (flags & NDR_SET_VALUES) {
15574 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15576 if (flags & NDR_IN) {
15577 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
15579 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15581 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15583 ndr_print_uint32(ndr, "level", r->in.level);
15584 ndr_print_ptr(ndr, "req", r->in.req);
15586 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15587 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
15591 if (flags & NDR_OUT) {
15592 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
15594 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15596 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15598 ndr_print_ptr(ndr, "info", r->out.info);
15600 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
15601 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
15603 ndr_print_WERROR(ndr, "result", r->out.result);
15609 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
15611 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15612 if (flags & NDR_IN) {
15613 if (r->in.bind_handle == NULL) {
15614 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15616 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15617 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15618 if (r->in.req == NULL) {
15619 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15621 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15622 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15624 if (flags & NDR_OUT) {
15625 if (r->out.level_out == NULL) {
15626 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15629 if (r->out.ctr == NULL) {
15630 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15632 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15633 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15634 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15636 return NDR_ERR_SUCCESS;
15639 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
15641 TALLOC_CTX *_mem_save_bind_handle_0;
15642 TALLOC_CTX *_mem_save_req_0;
15643 TALLOC_CTX *_mem_save_level_out_0;
15644 TALLOC_CTX *_mem_save_ctr_0;
15645 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15646 if (flags & NDR_IN) {
15647 ZERO_STRUCT(r->out);
15649 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15650 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15652 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15653 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15654 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15655 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15656 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15657 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15658 NDR_PULL_ALLOC(ndr, r->in.req);
15660 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15661 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15662 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15663 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15664 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15665 NDR_PULL_ALLOC(ndr, r->out.level_out);
15666 ZERO_STRUCTP(r->out.level_out);
15667 NDR_PULL_ALLOC(ndr, r->out.ctr);
15668 ZERO_STRUCTP(r->out.ctr);
15670 if (flags & NDR_OUT) {
15671 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15672 NDR_PULL_ALLOC(ndr, r->out.level_out);
15674 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15675 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15676 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15677 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15678 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15679 NDR_PULL_ALLOC(ndr, r->out.ctr);
15681 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15682 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15683 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15684 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15685 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15686 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15688 return NDR_ERR_SUCCESS;
15691 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
15693 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
15694 if (r == NULL) { ndr_print_null(ndr); return; }
15696 if (flags & NDR_SET_VALUES) {
15697 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15699 if (flags & NDR_IN) {
15700 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
15702 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15704 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15706 ndr_print_uint32(ndr, "level", r->in.level);
15707 ndr_print_ptr(ndr, "req", r->in.req);
15709 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15710 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
15714 if (flags & NDR_OUT) {
15715 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
15717 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15719 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15721 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15723 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15724 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
15726 ndr_print_WERROR(ndr, "result", r->out.result);
15732 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
15734 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15735 if (flags & NDR_IN) {
15736 if (r->in.bind_handle == NULL) {
15737 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15739 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15740 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15741 if (r->in.req == NULL) {
15742 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15744 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15745 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15747 if (flags & NDR_OUT) {
15748 if (r->out.level_out == NULL) {
15749 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15751 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15752 if (r->out.res == NULL) {
15753 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15755 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
15756 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
15757 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15759 return NDR_ERR_SUCCESS;
15762 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
15764 TALLOC_CTX *_mem_save_bind_handle_0;
15765 TALLOC_CTX *_mem_save_req_0;
15766 TALLOC_CTX *_mem_save_level_out_0;
15767 TALLOC_CTX *_mem_save_res_0;
15768 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15769 if (flags & NDR_IN) {
15770 ZERO_STRUCT(r->out);
15772 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15773 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15775 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15776 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15777 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15778 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15779 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15780 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15781 NDR_PULL_ALLOC(ndr, r->in.req);
15783 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15784 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15785 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15786 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15788 NDR_PULL_ALLOC(ndr, r->out.level_out);
15789 ZERO_STRUCTP(r->out.level_out);
15790 NDR_PULL_ALLOC(ndr, r->out.res);
15791 ZERO_STRUCTP(r->out.res);
15793 if (flags & NDR_OUT) {
15794 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15795 NDR_PULL_ALLOC(ndr, r->out.level_out);
15797 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15798 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15799 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15800 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15801 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15802 NDR_PULL_ALLOC(ndr, r->out.res);
15804 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
15805 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
15806 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
15807 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
15808 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
15809 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15811 return NDR_ERR_SUCCESS;
15814 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
15816 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
15817 if (r == NULL) { ndr_print_null(ndr); return; }
15819 if (flags & NDR_SET_VALUES) {
15820 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15822 if (flags & NDR_IN) {
15823 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
15825 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15827 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15829 ndr_print_uint32(ndr, "level", r->in.level);
15830 ndr_print_ptr(ndr, "req", r->in.req);
15832 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15833 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
15837 if (flags & NDR_OUT) {
15838 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
15840 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15842 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15844 ndr_print_ptr(ndr, "res", r->out.res);
15846 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
15847 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
15849 ndr_print_WERROR(ndr, "result", r->out.result);
15855 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
15857 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15858 if (flags & NDR_IN) {
15859 if (r->in.bind_handle == NULL) {
15860 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15862 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15864 if (r->in.req == NULL) {
15865 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15867 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15868 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15870 if (flags & NDR_OUT) {
15871 if (r->out.level_out == NULL) {
15872 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15875 if (r->out.res == NULL) {
15876 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15878 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
15879 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
15880 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15882 return NDR_ERR_SUCCESS;
15885 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
15887 TALLOC_CTX *_mem_save_bind_handle_0;
15888 TALLOC_CTX *_mem_save_req_0;
15889 TALLOC_CTX *_mem_save_level_out_0;
15890 TALLOC_CTX *_mem_save_res_0;
15891 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15892 if (flags & NDR_IN) {
15893 ZERO_STRUCT(r->out);
15895 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15896 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15898 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15899 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15900 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15901 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15902 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15903 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15904 NDR_PULL_ALLOC(ndr, r->in.req);
15906 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15907 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15908 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15909 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15910 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15911 NDR_PULL_ALLOC(ndr, r->out.level_out);
15912 ZERO_STRUCTP(r->out.level_out);
15913 NDR_PULL_ALLOC(ndr, r->out.res);
15914 ZERO_STRUCTP(r->out.res);
15916 if (flags & NDR_OUT) {
15917 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15918 NDR_PULL_ALLOC(ndr, r->out.level_out);
15920 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15921 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15922 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15923 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15924 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15925 NDR_PULL_ALLOC(ndr, r->out.res);
15927 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
15928 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
15929 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
15930 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
15931 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
15932 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15934 return NDR_ERR_SUCCESS;
15937 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
15939 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
15940 if (r == NULL) { ndr_print_null(ndr); return; }
15942 if (flags & NDR_SET_VALUES) {
15943 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15945 if (flags & NDR_IN) {
15946 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
15948 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15950 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15952 ndr_print_uint32(ndr, "level", r->in.level);
15953 ndr_print_ptr(ndr, "req", r->in.req);
15955 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15956 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
15960 if (flags & NDR_OUT) {
15961 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
15963 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15965 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15967 ndr_print_ptr(ndr, "res", r->out.res);
15969 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
15970 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
15972 ndr_print_WERROR(ndr, "result", r->out.result);
15978 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
15980 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
15981 if (flags & NDR_IN) {
15983 if (flags & NDR_OUT) {
15984 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15986 return NDR_ERR_SUCCESS;
15989 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
15991 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
15992 if (flags & NDR_IN) {
15994 if (flags & NDR_OUT) {
15995 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15997 return NDR_ERR_SUCCESS;
16000 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
16002 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
16003 if (r == NULL) { ndr_print_null(ndr); return; }
16005 if (flags & NDR_SET_VALUES) {
16006 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16008 if (flags & NDR_IN) {
16009 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
16013 if (flags & NDR_OUT) {
16014 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
16016 ndr_print_WERROR(ndr, "result", r->out.result);
16022 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
16024 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16025 if (flags & NDR_IN) {
16026 if (r->in.bind_handle == NULL) {
16027 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16029 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16030 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
16031 if (r->in.req == NULL) {
16032 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16034 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
16035 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16037 if (flags & NDR_OUT) {
16038 if (r->out.level_out == NULL) {
16039 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16041 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
16042 if (r->out.ctr == NULL) {
16043 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16045 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16046 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16047 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16049 return NDR_ERR_SUCCESS;
16052 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
16054 TALLOC_CTX *_mem_save_bind_handle_0;
16055 TALLOC_CTX *_mem_save_req_0;
16056 TALLOC_CTX *_mem_save_level_out_0;
16057 TALLOC_CTX *_mem_save_ctr_0;
16058 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16059 if (flags & NDR_IN) {
16060 ZERO_STRUCT(r->out);
16062 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16063 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16065 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16066 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16067 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16068 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16069 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
16070 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16071 NDR_PULL_ALLOC(ndr, r->in.req);
16073 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16074 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16075 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16076 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16077 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16078 NDR_PULL_ALLOC(ndr, r->out.level_out);
16079 ZERO_STRUCTP(r->out.level_out);
16080 NDR_PULL_ALLOC(ndr, r->out.ctr);
16081 ZERO_STRUCTP(r->out.ctr);
16083 if (flags & NDR_OUT) {
16084 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16085 NDR_PULL_ALLOC(ndr, r->out.level_out);
16087 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
16088 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
16089 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
16090 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
16091 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16092 NDR_PULL_ALLOC(ndr, r->out.ctr);
16094 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
16095 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
16096 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16097 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16098 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
16099 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16101 return NDR_ERR_SUCCESS;
16104 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
16106 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
16107 if (r == NULL) { ndr_print_null(ndr); return; }
16109 if (flags & NDR_SET_VALUES) {
16110 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16112 if (flags & NDR_IN) {
16113 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
16115 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16117 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16119 ndr_print_int32(ndr, "level", r->in.level);
16120 ndr_print_ptr(ndr, "req", r->in.req);
16122 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16123 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
16127 if (flags & NDR_OUT) {
16128 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
16130 ndr_print_ptr(ndr, "level_out", r->out.level_out);
16132 ndr_print_int32(ndr, "level_out", *r->out.level_out);
16134 ndr_print_ptr(ndr, "ctr", r->out.ctr);
16136 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
16137 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
16139 ndr_print_WERROR(ndr, "result", r->out.result);
16145 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
16147 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16148 if (flags & NDR_IN) {
16149 if (r->in.bind_handle == NULL) {
16150 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16152 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16153 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
16154 if (r->in.req == NULL) {
16155 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16157 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
16158 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16160 if (flags & NDR_OUT) {
16161 if (r->out.level_out == NULL) {
16162 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16164 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
16165 if (r->out.ctr == NULL) {
16166 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16168 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16169 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16170 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16172 return NDR_ERR_SUCCESS;
16175 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
16177 TALLOC_CTX *_mem_save_bind_handle_0;
16178 TALLOC_CTX *_mem_save_req_0;
16179 TALLOC_CTX *_mem_save_level_out_0;
16180 TALLOC_CTX *_mem_save_ctr_0;
16181 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16182 if (flags & NDR_IN) {
16183 ZERO_STRUCT(r->out);
16185 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16186 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16188 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16189 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16190 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16192 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
16193 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16194 NDR_PULL_ALLOC(ndr, r->in.req);
16196 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16197 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16198 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16199 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16201 NDR_PULL_ALLOC(ndr, r->out.level_out);
16202 ZERO_STRUCTP(r->out.level_out);
16203 NDR_PULL_ALLOC(ndr, r->out.ctr);
16204 ZERO_STRUCTP(r->out.ctr);
16206 if (flags & NDR_OUT) {
16207 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16208 NDR_PULL_ALLOC(ndr, r->out.level_out);
16210 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
16211 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
16212 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
16213 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
16214 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16215 NDR_PULL_ALLOC(ndr, r->out.ctr);
16217 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
16218 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
16219 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16220 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16221 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
16222 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16224 return NDR_ERR_SUCCESS;
16227 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
16229 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
16230 if (r == NULL) { ndr_print_null(ndr); return; }
16232 if (flags & NDR_SET_VALUES) {
16233 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16235 if (flags & NDR_IN) {
16236 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
16238 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16240 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16242 ndr_print_uint32(ndr, "level", r->in.level);
16243 ndr_print_ptr(ndr, "req", r->in.req);
16245 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16246 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
16250 if (flags & NDR_OUT) {
16251 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
16253 ndr_print_ptr(ndr, "level_out", r->out.level_out);
16255 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
16257 ndr_print_ptr(ndr, "ctr", r->out.ctr);
16259 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
16260 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
16262 ndr_print_WERROR(ndr, "result", r->out.result);
16268 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
16270 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16271 if (flags & NDR_IN) {
16272 if (r->in.bind_handle == NULL) {
16273 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16275 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16276 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
16277 if (r->in.req == NULL) {
16278 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16280 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
16281 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
16283 if (flags & NDR_OUT) {
16284 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16286 return NDR_ERR_SUCCESS;
16289 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
16291 TALLOC_CTX *_mem_save_bind_handle_0;
16292 TALLOC_CTX *_mem_save_req_0;
16293 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16294 if (flags & NDR_IN) {
16295 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16296 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16298 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16299 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16300 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16301 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16302 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
16303 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16304 NDR_PULL_ALLOC(ndr, r->in.req);
16306 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16307 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16308 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16309 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
16310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16312 if (flags & NDR_OUT) {
16313 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16315 return NDR_ERR_SUCCESS;
16318 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
16320 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
16321 if (r == NULL) { ndr_print_null(ndr); return; }
16323 if (flags & NDR_SET_VALUES) {
16324 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16326 if (flags & NDR_IN) {
16327 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
16329 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16331 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16333 ndr_print_uint32(ndr, "level", r->in.level);
16334 ndr_print_ptr(ndr, "req", r->in.req);
16336 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16337 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
16341 if (flags & NDR_OUT) {
16342 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
16344 ndr_print_WERROR(ndr, "result", r->out.result);
16350 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
16352 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16353 if (flags & NDR_IN) {
16354 if (r->in.bind_handle == NULL) {
16355 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16357 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16358 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
16359 if (r->in.req == NULL) {
16360 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16362 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
16363 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16365 if (flags & NDR_OUT) {
16366 if (r->out.info_type == NULL) {
16367 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16369 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
16370 if (r->out.info == NULL) {
16371 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16373 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
16374 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
16375 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16377 return NDR_ERR_SUCCESS;
16380 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
16382 TALLOC_CTX *_mem_save_bind_handle_0;
16383 TALLOC_CTX *_mem_save_req_0;
16384 TALLOC_CTX *_mem_save_info_type_0;
16385 TALLOC_CTX *_mem_save_info_0;
16386 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16387 if (flags & NDR_IN) {
16388 ZERO_STRUCT(r->out);
16390 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16391 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16393 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16394 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16395 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16396 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16397 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
16398 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16399 NDR_PULL_ALLOC(ndr, r->in.req);
16401 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16402 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16403 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16404 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16405 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16406 NDR_PULL_ALLOC(ndr, r->out.info_type);
16407 ZERO_STRUCTP(r->out.info_type);
16408 NDR_PULL_ALLOC(ndr, r->out.info);
16409 ZERO_STRUCTP(r->out.info);
16411 if (flags & NDR_OUT) {
16412 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16413 NDR_PULL_ALLOC(ndr, r->out.info_type);
16415 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
16416 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
16417 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
16418 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
16419 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16420 NDR_PULL_ALLOC(ndr, r->out.info);
16422 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16423 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
16424 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
16425 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
16426 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
16427 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16429 return NDR_ERR_SUCCESS;
16432 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
16434 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
16435 if (r == NULL) { ndr_print_null(ndr); return; }
16437 if (flags & NDR_SET_VALUES) {
16438 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16440 if (flags & NDR_IN) {
16441 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
16443 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16445 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16447 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
16448 ndr_print_ptr(ndr, "req", r->in.req);
16450 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16451 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
16455 if (flags & NDR_OUT) {
16456 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
16458 ndr_print_ptr(ndr, "info_type", r->out.info_type);
16460 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
16462 ndr_print_ptr(ndr, "info", r->out.info);
16464 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
16465 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
16467 ndr_print_WERROR(ndr, "result", r->out.result);
16473 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
16475 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16476 if (flags & NDR_IN) {
16478 if (flags & NDR_OUT) {
16479 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16481 return NDR_ERR_SUCCESS;
16484 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
16486 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16487 if (flags & NDR_IN) {
16489 if (flags & NDR_OUT) {
16490 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16492 return NDR_ERR_SUCCESS;
16495 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
16497 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
16498 if (r == NULL) { ndr_print_null(ndr); return; }
16500 if (flags & NDR_SET_VALUES) {
16501 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16503 if (flags & NDR_IN) {
16504 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
16508 if (flags & NDR_OUT) {
16509 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
16511 ndr_print_WERROR(ndr, "result", r->out.result);
16517 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
16519 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16520 if (flags & NDR_IN) {
16521 if (r->in.bind_handle == NULL) {
16522 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16524 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16525 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
16526 if (r->in.req == NULL) {
16527 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16529 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
16530 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16532 if (flags & NDR_OUT) {
16533 if (r->out.level_out == NULL) {
16534 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
16537 if (r->out.ctr == NULL) {
16538 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16540 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16541 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16542 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16544 return NDR_ERR_SUCCESS;
16547 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
16549 TALLOC_CTX *_mem_save_bind_handle_0;
16550 TALLOC_CTX *_mem_save_req_0;
16551 TALLOC_CTX *_mem_save_level_out_0;
16552 TALLOC_CTX *_mem_save_ctr_0;
16553 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16554 if (flags & NDR_IN) {
16555 ZERO_STRUCT(r->out);
16557 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16558 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16560 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16561 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16562 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16564 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
16565 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16566 NDR_PULL_ALLOC(ndr, r->in.req);
16568 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16569 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16570 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16571 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16572 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16573 NDR_PULL_ALLOC(ndr, r->out.level_out);
16574 ZERO_STRUCTP(r->out.level_out);
16575 NDR_PULL_ALLOC(ndr, r->out.ctr);
16576 ZERO_STRUCTP(r->out.ctr);
16578 if (flags & NDR_OUT) {
16579 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16580 NDR_PULL_ALLOC(ndr, r->out.level_out);
16582 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
16583 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
16584 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
16585 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
16586 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16587 NDR_PULL_ALLOC(ndr, r->out.ctr);
16589 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
16590 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
16591 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16592 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16593 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
16594 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16596 return NDR_ERR_SUCCESS;
16599 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
16601 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
16602 if (r == NULL) { ndr_print_null(ndr); return; }
16604 if (flags & NDR_SET_VALUES) {
16605 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16607 if (flags & NDR_IN) {
16608 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
16610 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16612 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16614 ndr_print_uint32(ndr, "level", r->in.level);
16615 ndr_print_ptr(ndr, "req", r->in.req);
16617 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16618 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
16622 if (flags & NDR_OUT) {
16623 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
16625 ndr_print_ptr(ndr, "level_out", r->out.level_out);
16627 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
16629 ndr_print_ptr(ndr, "ctr", r->out.ctr);
16631 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
16632 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
16634 ndr_print_WERROR(ndr, "result", r->out.result);
16640 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
16642 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16643 if (flags & NDR_IN) {
16645 if (flags & NDR_OUT) {
16646 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16648 return NDR_ERR_SUCCESS;
16651 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
16653 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16654 if (flags & NDR_IN) {
16656 if (flags & NDR_OUT) {
16657 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16659 return NDR_ERR_SUCCESS;
16662 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
16664 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
16665 if (r == NULL) { ndr_print_null(ndr); return; }
16667 if (flags & NDR_SET_VALUES) {
16668 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16670 if (flags & NDR_IN) {
16671 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
16675 if (flags & NDR_OUT) {
16676 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
16678 ndr_print_WERROR(ndr, "result", r->out.result);
16684 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
16686 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16687 if (flags & NDR_IN) {
16689 if (flags & NDR_OUT) {
16690 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16692 return NDR_ERR_SUCCESS;
16695 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
16697 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16698 if (flags & NDR_IN) {
16700 if (flags & NDR_OUT) {
16701 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16703 return NDR_ERR_SUCCESS;
16706 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
16708 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
16709 if (r == NULL) { ndr_print_null(ndr); return; }
16711 if (flags & NDR_SET_VALUES) {
16712 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16714 if (flags & NDR_IN) {
16715 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
16719 if (flags & NDR_OUT) {
16720 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
16722 ndr_print_WERROR(ndr, "result", r->out.result);
16728 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
16730 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
16731 if (flags & NDR_IN) {
16732 if (r->in.bind_handle == NULL) {
16733 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16735 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16736 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
16737 if (r->in.req == NULL) {
16738 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16740 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
16741 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16743 if (flags & NDR_OUT) {
16744 if (r->out.level_out == NULL) {
16745 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16747 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
16748 if (r->out.ctr == NULL) {
16749 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16751 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16752 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16753 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16755 return NDR_ERR_SUCCESS;
16758 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
16760 TALLOC_CTX *_mem_save_bind_handle_0;
16761 TALLOC_CTX *_mem_save_req_0;
16762 TALLOC_CTX *_mem_save_level_out_0;
16763 TALLOC_CTX *_mem_save_ctr_0;
16764 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
16765 if (flags & NDR_IN) {
16766 ZERO_STRUCT(r->out);
16768 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16769 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
16771 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
16772 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
16773 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
16774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
16775 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
16776 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16777 NDR_PULL_ALLOC(ndr, r->in.req);
16779 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
16780 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
16781 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
16782 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
16783 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
16784 NDR_PULL_ALLOC(ndr, r->out.level_out);
16785 ZERO_STRUCTP(r->out.level_out);
16786 NDR_PULL_ALLOC(ndr, r->out.ctr);
16787 ZERO_STRUCTP(r->out.ctr);
16789 if (flags & NDR_OUT) {
16790 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16791 NDR_PULL_ALLOC(ndr, r->out.level_out);
16793 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
16794 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
16795 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
16796 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
16797 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16798 NDR_PULL_ALLOC(ndr, r->out.ctr);
16800 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
16801 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
16802 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
16803 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
16804 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
16805 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16807 return NDR_ERR_SUCCESS;
16810 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
16812 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
16813 if (r == NULL) { ndr_print_null(ndr); return; }
16815 if (flags & NDR_SET_VALUES) {
16816 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16818 if (flags & NDR_IN) {
16819 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
16821 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
16823 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
16825 ndr_print_uint32(ndr, "level", r->in.level);
16826 ndr_print_ptr(ndr, "req", r->in.req);
16828 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
16829 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
16833 if (flags & NDR_OUT) {
16834 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
16836 ndr_print_ptr(ndr, "level_out", r->out.level_out);
16838 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
16840 ndr_print_ptr(ndr, "ctr", r->out.ctr);
16842 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
16843 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
16845 ndr_print_WERROR(ndr, "result", r->out.result);
16851 static const struct ndr_interface_call drsuapi_calls[] = {
16854 sizeof(struct drsuapi_DsBind),
16855 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
16856 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
16857 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
16862 "drsuapi_DsUnbind",
16863 sizeof(struct drsuapi_DsUnbind),
16864 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
16865 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
16866 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
16871 "drsuapi_DsReplicaSync",
16872 sizeof(struct drsuapi_DsReplicaSync),
16873 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
16874 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
16875 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
16880 "drsuapi_DsGetNCChanges",
16881 sizeof(struct drsuapi_DsGetNCChanges),
16882 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
16883 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
16884 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
16889 "drsuapi_DsReplicaUpdateRefs",
16890 sizeof(struct drsuapi_DsReplicaUpdateRefs),
16891 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
16892 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
16893 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
16898 "drsuapi_DsReplicaAdd",
16899 sizeof(struct drsuapi_DsReplicaAdd),
16900 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
16901 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
16902 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
16907 "drsuapi_DsReplicaDel",
16908 sizeof(struct drsuapi_DsReplicaDel),
16909 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
16910 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
16911 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
16916 "drsuapi_DsReplicaMod",
16917 sizeof(struct drsuapi_DsReplicaMod),
16918 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
16919 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
16920 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
16925 "DRSUAPI_VERIFY_NAMES",
16926 sizeof(struct DRSUAPI_VERIFY_NAMES),
16927 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
16928 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
16929 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
16934 "drsuapi_DsGetMemberships",
16935 sizeof(struct drsuapi_DsGetMemberships),
16936 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
16937 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
16938 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
16943 "DRSUAPI_INTER_DOMAIN_MOVE",
16944 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
16945 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
16946 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
16947 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
16952 "drsuapi_DsGetNT4ChangeLog",
16953 sizeof(struct drsuapi_DsGetNT4ChangeLog),
16954 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
16955 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
16956 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
16961 "drsuapi_DsCrackNames",
16962 sizeof(struct drsuapi_DsCrackNames),
16963 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
16964 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
16965 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
16970 "drsuapi_DsWriteAccountSpn",
16971 sizeof(struct drsuapi_DsWriteAccountSpn),
16972 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
16973 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
16974 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
16979 "drsuapi_DsRemoveDSServer",
16980 sizeof(struct drsuapi_DsRemoveDSServer),
16981 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
16982 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
16983 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
16988 "DRSUAPI_REMOVE_DS_DOMAIN",
16989 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
16990 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
16991 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
16992 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
16997 "drsuapi_DsGetDomainControllerInfo",
16998 sizeof(struct drsuapi_DsGetDomainControllerInfo),
16999 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
17000 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
17001 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
17006 "drsuapi_DsAddEntry",
17007 sizeof(struct drsuapi_DsAddEntry),
17008 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
17009 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
17010 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
17015 "drsuapi_DsExecuteKCC",
17016 sizeof(struct drsuapi_DsExecuteKCC),
17017 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
17018 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
17019 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
17024 "drsuapi_DsReplicaGetInfo",
17025 sizeof(struct drsuapi_DsReplicaGetInfo),
17026 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
17027 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
17028 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
17033 "DRSUAPI_ADD_SID_HISTORY",
17034 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
17035 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
17036 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
17037 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
17042 "drsuapi_DsGetMemberships2",
17043 sizeof(struct drsuapi_DsGetMemberships2),
17044 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
17045 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
17046 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
17051 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
17052 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
17053 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
17054 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
17055 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
17060 "DRSUAPI_GET_OBJECT_EXISTENCE",
17061 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
17062 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
17063 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
17064 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
17069 "drsuapi_QuerySitesByCost",
17070 sizeof(struct drsuapi_QuerySitesByCost),
17071 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
17072 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
17073 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
17077 { NULL, 0, NULL, NULL, NULL }
17080 static const char * const drsuapi_endpoint_strings[] = {
17081 "ncacn_np:[\\pipe\\lsass]",
17082 "ncacn_np:[\\pipe\\protected_storage]",
17087 static const struct ndr_interface_string_array drsuapi_endpoints = {
17089 .names = drsuapi_endpoint_strings
17092 static const char * const drsuapi_authservice_strings[] = {
17096 static const struct ndr_interface_string_array drsuapi_authservices = {
17098 .names = drsuapi_authservice_strings
17102 const struct ndr_interface_table ndr_table_drsuapi = {
17105 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
17106 NDR_DRSUAPI_VERSION
17108 .helpstring = NDR_DRSUAPI_HELPSTRING,
17110 .calls = drsuapi_calls,
17111 .endpoints = &drsuapi_endpoints,
17112 .authservices = &drsuapi_authservices