1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_drsuapi.h"
6 #include "librpc/gen_ndr/ndr_security.h"
7 #include "librpc/gen_ndr/ndr_misc.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/ndr/ndr_compression.h"
10 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
12 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
13 return NDR_ERR_SUCCESS;
16 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
19 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
21 return NDR_ERR_SUCCESS;
24 _PUBLIC_ void ndr_print_drsuapi_DrsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
26 ndr_print_uint32(ndr, name, r);
28 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_OP", DRSUAPI_DRS_ASYNC_OP, r);
29 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GETCHG_CHECK", DRSUAPI_DRS_GETCHG_CHECK, r);
30 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_NOTIFICATION", DRSUAPI_DRS_UPDATE_NOTIFICATION, r);
31 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF, r);
32 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL, r);
33 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF, r);
34 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP, r);
35 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC, r);
36 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC, r);
37 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP, r);
38 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP, r);
39 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR, r);
40 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC, r);
41 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY, r);
42 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC, r);
43 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE, r);
44 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY, r);
45 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NONGC_RO_REP", DRSUAPI_DRS_NONGC_RO_REP, r);
46 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_BYNAME", DRSUAPI_DRS_SYNC_BYNAME, r);
47 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK, r);
48 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW, r);
49 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE, r);
50 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS", DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS, r);
51 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET, r);
52 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_REQUEUE", DRSUAPI_DRS_SYNC_REQUEUE, r);
53 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_URGENT", DRSUAPI_DRS_SYNC_URGENT, r);
54 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN, r);
55 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_DISCARD", DRSUAPI_DRS_NO_DISCARD, r);
56 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_SYNCED", DRSUAPI_DRS_NEVER_SYNCED, r);
57 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING, r);
58 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC_NOW", DRSUAPI_DRS_INIT_SYNC_NOW, r);
59 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PREEMPTED", DRSUAPI_DRS_PREEMPTED, r);
60 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED, r);
61 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC, r);
62 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC, r);
63 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_USE_COMPRESSION", DRSUAPI_DRS_USE_COMPRESSION, r);
64 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_NOTIFY", DRSUAPI_DRS_NEVER_NOTIFY, r);
65 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_PAS", DRSUAPI_DRS_SYNC_PAS, r);
66 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP", DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP, r);
70 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
72 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
73 return NDR_ERR_SUCCESS;
76 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
79 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
81 return NDR_ERR_SUCCESS;
84 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensions(struct ndr_print *ndr, const char *name, uint32_t r)
86 ndr_print_uint32(ndr, name, r);
88 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE, r);
89 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION, r);
90 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI, r);
91 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2, r);
92 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS, r);
93 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1, r);
94 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION, r);
95 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY, r);
96 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE, r);
97 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2, r);
98 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION, r);
99 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2, r);
100 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);
101 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND, r);
102 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO, r);
103 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION, r);
104 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01, r);
105 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP, r);
106 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY, r);
107 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3, r);
108 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5, r);
109 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2, r);
110 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6, r);
111 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS, r);
112 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8, r);
113 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5, r);
114 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6, r);
115 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3, r);
116 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7, r);
117 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT, r);
118 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS, r);
119 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10, r);
120 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2, r);
121 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3, r);
125 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push *ndr, int ndr_flags, uint32_t r)
127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
128 return NDR_ERR_SUCCESS;
131 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
134 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
136 return NDR_ERR_SUCCESS;
139 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print *ndr, const char *name, uint32_t r)
141 ndr_print_uint32(ndr, name, r);
143 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM, r);
144 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2, r);
145 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN", DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN, r);
149 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo24(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo24 *r)
151 if (ndr_flags & NDR_SCALARS) {
152 NDR_CHECK(ndr_push_align(ndr, 4));
153 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
154 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
155 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
156 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
158 if (ndr_flags & NDR_BUFFERS) {
160 return NDR_ERR_SUCCESS;
163 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo24 *r)
165 if (ndr_flags & NDR_SCALARS) {
166 NDR_CHECK(ndr_pull_align(ndr, 4));
167 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
168 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
169 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
170 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
172 if (ndr_flags & NDR_BUFFERS) {
174 return NDR_ERR_SUCCESS;
177 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo24 *r)
179 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo24");
181 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
182 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
183 ndr_print_uint32(ndr, "pid", r->pid);
187 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo28(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo28 *r)
189 if (ndr_flags & NDR_SCALARS) {
190 NDR_CHECK(ndr_push_align(ndr, 4));
191 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
192 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
193 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
195 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
197 if (ndr_flags & NDR_BUFFERS) {
199 return NDR_ERR_SUCCESS;
202 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo28 *r)
204 if (ndr_flags & NDR_SCALARS) {
205 NDR_CHECK(ndr_pull_align(ndr, 4));
206 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
207 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
208 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
210 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
212 if (ndr_flags & NDR_BUFFERS) {
214 return NDR_ERR_SUCCESS;
217 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo28 *r)
219 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo28");
221 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
222 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
223 ndr_print_uint32(ndr, "pid", r->pid);
224 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
228 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo48(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo48 *r)
230 if (ndr_flags & NDR_SCALARS) {
231 NDR_CHECK(ndr_push_align(ndr, 4));
232 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
233 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
236 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
237 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
238 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
240 if (ndr_flags & NDR_BUFFERS) {
242 return NDR_ERR_SUCCESS;
245 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo48 *r)
247 if (ndr_flags & NDR_SCALARS) {
248 NDR_CHECK(ndr_pull_align(ndr, 4));
249 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
250 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
251 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
252 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
253 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
254 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
255 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
257 if (ndr_flags & NDR_BUFFERS) {
259 return NDR_ERR_SUCCESS;
262 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo48 *r)
264 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo48");
266 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
267 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
268 ndr_print_uint32(ndr, "pid", r->pid);
269 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
270 ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
271 ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid);
275 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoFallBack *r)
277 if (ndr_flags & NDR_SCALARS) {
278 NDR_CHECK(ndr_push_align(ndr, 4));
280 uint32_t _flags_save_DATA_BLOB = ndr->flags;
281 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
282 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->info));
283 ndr->flags = _flags_save_DATA_BLOB;
285 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
287 if (ndr_flags & NDR_BUFFERS) {
289 return NDR_ERR_SUCCESS;
292 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoFallBack *r)
294 if (ndr_flags & NDR_SCALARS) {
295 NDR_CHECK(ndr_pull_align(ndr, 4));
297 uint32_t _flags_save_DATA_BLOB = ndr->flags;
298 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
299 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->info));
300 ndr->flags = _flags_save_DATA_BLOB;
302 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
304 if (ndr_flags & NDR_BUFFERS) {
306 return NDR_ERR_SUCCESS;
309 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoFallBack *r)
311 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoFallBack");
313 ndr_print_DATA_BLOB(ndr, "info", r->info);
317 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsBindInfo *r)
319 if (ndr_flags & NDR_SCALARS) {
320 int level = ndr_push_get_switch_value(ndr, r);
321 NDR_CHECK(ndr_push_union_align(ndr, 1));
325 struct ndr_push *_ndr_info24;
326 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info24, 4, -1));
327 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
328 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info24, 4, -1));
334 struct ndr_push *_ndr_info28;
335 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info28, 4, -1));
336 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
337 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info28, 4, -1));
343 struct ndr_push *_ndr_info48;
344 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info48, 4, -1));
345 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
346 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info48, 4, -1));
352 struct ndr_push *_ndr_FallBack;
353 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
354 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
355 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_FallBack, 4, -1));
361 if (ndr_flags & NDR_BUFFERS) {
362 int level = ndr_push_get_switch_value(ndr, r);
378 return NDR_ERR_SUCCESS;
381 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsBindInfo *r)
384 level = ndr_pull_get_switch_value(ndr, r);
385 if (ndr_flags & NDR_SCALARS) {
386 NDR_CHECK(ndr_pull_union_align(ndr, 1));
390 struct ndr_pull *_ndr_info24;
391 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info24, 4, -1));
392 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
393 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info24, 4, -1));
399 struct ndr_pull *_ndr_info28;
400 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info28, 4, -1));
401 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
402 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info28, 4, -1));
408 struct ndr_pull *_ndr_info48;
409 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info48, 4, -1));
410 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
411 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info48, 4, -1));
417 struct ndr_pull *_ndr_FallBack;
418 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
419 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
420 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_FallBack, 4, -1));
426 if (ndr_flags & NDR_BUFFERS) {
442 return NDR_ERR_SUCCESS;
445 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsBindInfo *r)
448 level = ndr_print_get_switch_value(ndr, r);
449 ndr_print_union(ndr, name, level, "drsuapi_DsBindInfo");
452 ndr_print_drsuapi_DsBindInfo24(ndr, "info24", &r->info24);
456 ndr_print_drsuapi_DsBindInfo28(ndr, "info28", &r->info28);
460 ndr_print_drsuapi_DsBindInfo48(ndr, "info48", &r->info48);
464 ndr_print_drsuapi_DsBindInfoFallBack(ndr, "FallBack", &r->FallBack);
470 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoCtr *r)
472 if (ndr_flags & NDR_SCALARS) {
473 NDR_CHECK(ndr_push_align(ndr, 4));
474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
475 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->length));
476 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
477 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
479 if (ndr_flags & NDR_BUFFERS) {
481 return NDR_ERR_SUCCESS;
484 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoCtr *r)
486 if (ndr_flags & NDR_SCALARS) {
487 NDR_CHECK(ndr_pull_align(ndr, 4));
488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
489 if (r->length < 1 || r->length > 10000) {
490 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
492 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->length));
493 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
494 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
496 if (ndr_flags & NDR_BUFFERS) {
498 return NDR_ERR_SUCCESS;
501 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoCtr *r)
503 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoCtr");
505 ndr_print_uint32(ndr, "length", r->length);
506 ndr_print_set_switch_value(ndr, &r->info, r->length);
507 ndr_print_drsuapi_DsBindInfo(ndr, "info", &r->info);
511 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier *r)
513 if (ndr_flags & NDR_SCALARS) {
514 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->dn) + 1));
515 NDR_CHECK(ndr_push_align(ndr, 4));
516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->iconv_convenience, ndr->flags) - 4));
517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
518 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
519 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
520 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
521 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
522 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
524 if (ndr_flags & NDR_BUFFERS) {
525 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
527 return NDR_ERR_SUCCESS;
530 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier *r)
532 if (ndr_flags & NDR_SCALARS) {
533 NDR_CHECK(ndr_pull_array_size(ndr, &r->dn));
534 NDR_CHECK(ndr_pull_align(ndr, 4));
535 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
536 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
537 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
538 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
539 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
540 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, ndr_get_array_size(ndr, &r->dn), sizeof(uint16_t), CH_UTF16));
542 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->dn, r->__ndr_size_dn + 1));
544 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
546 if (ndr_flags & NDR_BUFFERS) {
547 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
549 return NDR_ERR_SUCCESS;
552 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier *r)
554 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier");
556 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->iconv_convenience, ndr->flags) - 4:r->__ndr_size);
557 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);
558 ndr_print_GUID(ndr, "guid", &r->guid);
559 ndr_print_dom_sid28(ndr, "sid", &r->sid);
560 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
561 ndr_print_string(ndr, "dn", r->dn);
565 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier *r, struct smb_iconv_convenience *ic, int flags)
567 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier, ic);
570 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r)
572 if (ndr_flags & NDR_SCALARS) {
573 NDR_CHECK(ndr_push_align(ndr, 5));
574 if (r->naming_context == NULL) {
575 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
577 NDR_CHECK(ndr_push_ref_ptr(ndr));
578 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
580 uint32_t _flags_save_string = ndr->flags;
581 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dns));
583 ndr->flags = _flags_save_string;
585 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
586 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
588 if (ndr_flags & NDR_BUFFERS) {
589 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
591 uint32_t _flags_save_string = ndr->flags;
592 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
593 if (r->source_dsa_dns) {
594 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->source_dsa_dns));
596 ndr->flags = _flags_save_string;
599 return NDR_ERR_SUCCESS;
602 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r)
604 uint32_t _ptr_naming_context;
605 TALLOC_CTX *_mem_save_naming_context_0;
606 uint32_t _ptr_source_dsa_dns;
607 TALLOC_CTX *_mem_save_source_dsa_dns_0;
608 if (ndr_flags & NDR_SCALARS) {
609 NDR_CHECK(ndr_pull_align(ndr, 5));
610 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
611 if (_ptr_naming_context) {
612 NDR_PULL_ALLOC(ndr, r->naming_context);
614 r->naming_context = NULL;
616 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
618 uint32_t _flags_save_string = ndr->flags;
619 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
620 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dns));
621 if (_ptr_source_dsa_dns) {
622 NDR_PULL_ALLOC(ndr, r->source_dsa_dns);
624 r->source_dsa_dns = NULL;
626 ndr->flags = _flags_save_string;
628 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
629 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
631 if (ndr_flags & NDR_BUFFERS) {
632 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
633 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
634 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
635 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
637 uint32_t _flags_save_string = ndr->flags;
638 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
639 if (r->source_dsa_dns) {
640 _mem_save_source_dsa_dns_0 = NDR_PULL_GET_MEM_CTX(ndr);
641 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dns, 0);
642 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->source_dsa_dns));
643 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dns_0, 0);
645 ndr->flags = _flags_save_string;
648 return NDR_ERR_SUCCESS;
651 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r)
653 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1");
655 ndr_print_ptr(ndr, "naming_context", r->naming_context);
657 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
659 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
660 ndr_print_ptr(ndr, "source_dsa_dns", r->source_dsa_dns);
662 if (r->source_dsa_dns) {
663 ndr_print_string(ndr, "source_dsa_dns", r->source_dsa_dns);
666 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
670 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r)
672 if (ndr_flags & NDR_SCALARS) {
673 int level = ndr_push_get_switch_value(ndr, r);
674 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
675 NDR_CHECK(ndr_push_union_align(ndr, 5));
678 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
682 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
685 if (ndr_flags & NDR_BUFFERS) {
686 int level = ndr_push_get_switch_value(ndr, r);
689 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
693 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
696 return NDR_ERR_SUCCESS;
699 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
703 level = ndr_pull_get_switch_value(ndr, r);
704 if (ndr_flags & NDR_SCALARS) {
705 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
706 if (_level != level) {
707 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
709 NDR_CHECK(ndr_pull_union_align(ndr, 5));
712 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
716 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
719 if (ndr_flags & NDR_BUFFERS) {
722 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
726 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
729 return NDR_ERR_SUCCESS;
732 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r)
735 level = ndr_print_get_switch_value(ndr, r);
736 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
739 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
743 ndr_print_bad_level(ndr, name, level);
747 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r)
749 if (ndr_flags & NDR_SCALARS) {
750 NDR_CHECK(ndr_push_align(ndr, 8));
751 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
752 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn));
753 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
754 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
756 if (ndr_flags & NDR_BUFFERS) {
758 return NDR_ERR_SUCCESS;
761 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r)
763 if (ndr_flags & NDR_SCALARS) {
764 NDR_CHECK(ndr_pull_align(ndr, 8));
765 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
766 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn));
767 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
768 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
770 if (ndr_flags & NDR_BUFFERS) {
772 return NDR_ERR_SUCCESS;
775 _PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r)
777 ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark");
779 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
780 ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn);
781 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
785 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r)
787 if (ndr_flags & NDR_SCALARS) {
788 NDR_CHECK(ndr_push_align(ndr, 8));
789 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
790 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
791 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
793 if (ndr_flags & NDR_BUFFERS) {
795 return NDR_ERR_SUCCESS;
798 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r)
800 if (ndr_flags & NDR_SCALARS) {
801 NDR_CHECK(ndr_pull_align(ndr, 8));
802 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
803 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
804 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
806 if (ndr_flags & NDR_BUFFERS) {
808 return NDR_ERR_SUCCESS;
811 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r)
813 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor");
815 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
816 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
820 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r)
822 uint32_t cntr_cursors_0;
823 if (ndr_flags & NDR_SCALARS) {
824 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
825 NDR_CHECK(ndr_push_align(ndr, 8));
826 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
827 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
828 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
829 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
830 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
831 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
833 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
835 if (ndr_flags & NDR_BUFFERS) {
837 return NDR_ERR_SUCCESS;
840 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r)
842 uint32_t cntr_cursors_0;
843 TALLOC_CTX *_mem_save_cursors_0;
844 if (ndr_flags & NDR_SCALARS) {
845 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
846 NDR_CHECK(ndr_pull_align(ndr, 8));
847 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
848 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
849 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
850 if (r->count > 0x100000) {
851 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
853 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
854 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
855 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
856 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
857 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
858 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
860 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
862 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
864 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
866 if (ndr_flags & NDR_BUFFERS) {
868 return NDR_ERR_SUCCESS;
871 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r)
873 uint32_t cntr_cursors_0;
874 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx");
876 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
877 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
878 ndr_print_uint32(ndr, "count", r->count);
879 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
880 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
882 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
884 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
885 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
893 static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r)
896 uint32_t _flags_save_ENUM = ndr->flags;
897 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
898 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
899 ndr->flags = _flags_save_ENUM;
901 return NDR_ERR_SUCCESS;
904 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r)
908 uint32_t _flags_save_ENUM = ndr->flags;
909 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
910 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
912 ndr->flags = _flags_save_ENUM;
914 return NDR_ERR_SUCCESS;
917 _PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r)
919 const char *val = NULL;
922 uint32_t _flags_save_ENUM = ndr->flags;
923 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
925 case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break;
926 case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
927 case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
928 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
929 case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
930 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
931 case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break;
932 case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break;
934 ndr_print_enum(ndr, name, "ENUM", val, r);
935 ndr->flags = _flags_save_ENUM;
939 static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r)
942 uint32_t _flags_save_ENUM = ndr->flags;
943 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
944 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
945 ndr->flags = _flags_save_ENUM;
947 return NDR_ERR_SUCCESS;
950 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r)
954 uint32_t _flags_save_ENUM = ndr->flags;
955 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
956 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
958 ndr->flags = _flags_save_ENUM;
960 return NDR_ERR_SUCCESS;
963 _PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r)
965 const char *val = NULL;
968 uint32_t _flags_save_ENUM = ndr->flags;
969 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
971 case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break;
972 case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break;
973 case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
974 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
975 case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
976 case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
977 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
978 case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
979 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
980 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
981 case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break;
982 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
983 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
984 case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
985 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
986 case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
987 case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
989 ndr_print_enum(ndr, name, "ENUM", val, r);
990 ndr->flags = _flags_save_ENUM;
994 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r)
996 if (ndr_flags & NDR_SCALARS) {
997 NDR_CHECK(ndr_push_align(ndr, 8));
998 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
999 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1000 if (r->naming_context == NULL) {
1001 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1003 NDR_CHECK(ndr_push_ref_ptr(ndr));
1004 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1005 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1006 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1008 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1009 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1010 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1011 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1013 if (ndr_flags & NDR_BUFFERS) {
1014 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1015 if (r->uptodateness_vector) {
1016 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1019 return NDR_ERR_SUCCESS;
1022 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r)
1024 uint32_t _ptr_naming_context;
1025 TALLOC_CTX *_mem_save_naming_context_0;
1026 uint32_t _ptr_uptodateness_vector;
1027 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1028 if (ndr_flags & NDR_SCALARS) {
1029 NDR_CHECK(ndr_pull_align(ndr, 8));
1030 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1031 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1032 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1033 if (_ptr_naming_context) {
1034 NDR_PULL_ALLOC(ndr, r->naming_context);
1036 r->naming_context = NULL;
1038 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1039 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1040 if (_ptr_uptodateness_vector) {
1041 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1043 r->uptodateness_vector = NULL;
1045 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1046 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1047 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1048 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1049 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1050 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1052 if (ndr_flags & NDR_BUFFERS) {
1053 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1054 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1055 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1056 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1057 if (r->uptodateness_vector) {
1058 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1059 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1060 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1061 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1064 return NDR_ERR_SUCCESS;
1067 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r)
1069 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5");
1071 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1072 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1073 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1075 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1077 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1078 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1080 if (r->uptodateness_vector) {
1081 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1084 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1085 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1086 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1087 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1088 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1092 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOID(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOID *r)
1094 if (ndr_flags & NDR_SCALARS) {
1095 NDR_CHECK(ndr_push_align(ndr, 5));
1096 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1097 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary_oid));
1098 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1100 if (ndr_flags & NDR_BUFFERS) {
1101 if (r->binary_oid) {
1102 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
1103 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
1106 return NDR_ERR_SUCCESS;
1109 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOID *r)
1111 uint32_t _ptr_binary_oid;
1112 TALLOC_CTX *_mem_save_binary_oid_0;
1113 if (ndr_flags & NDR_SCALARS) {
1114 NDR_CHECK(ndr_pull_align(ndr, 5));
1115 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1116 if (r->length > 10000) {
1117 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1119 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_oid));
1120 if (_ptr_binary_oid) {
1121 NDR_PULL_ALLOC(ndr, r->binary_oid);
1123 r->binary_oid = NULL;
1125 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1127 if (ndr_flags & NDR_BUFFERS) {
1128 if (r->binary_oid) {
1129 _mem_save_binary_oid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1130 NDR_PULL_SET_MEM_CTX(ndr, r->binary_oid, 0);
1131 NDR_CHECK(ndr_pull_array_size(ndr, &r->binary_oid));
1132 NDR_PULL_ALLOC_N(ndr, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid));
1133 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid)));
1134 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_oid_0, 0);
1136 if (r->binary_oid) {
1137 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->binary_oid, r->length));
1140 return NDR_ERR_SUCCESS;
1143 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
1145 if (ndr_flags & NDR_SCALARS) {
1146 NDR_CHECK(ndr_push_align(ndr, 5));
1147 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
1148 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1149 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1151 if (ndr_flags & NDR_BUFFERS) {
1152 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1154 return NDR_ERR_SUCCESS;
1157 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
1159 if (ndr_flags & NDR_SCALARS) {
1160 NDR_CHECK(ndr_pull_align(ndr, 5));
1161 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
1162 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1163 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1165 if (ndr_flags & NDR_BUFFERS) {
1166 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1168 return NDR_ERR_SUCCESS;
1171 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
1173 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
1175 ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1176 ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
1180 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1182 uint32_t cntr_mappings_1;
1183 if (ndr_flags & NDR_SCALARS) {
1184 NDR_CHECK(ndr_push_align(ndr, 5));
1185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1186 NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
1187 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1189 if (ndr_flags & NDR_BUFFERS) {
1191 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_mappings));
1192 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1193 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1195 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1196 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1200 return NDR_ERR_SUCCESS;
1203 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1205 uint32_t _ptr_mappings;
1206 uint32_t cntr_mappings_1;
1207 TALLOC_CTX *_mem_save_mappings_0;
1208 TALLOC_CTX *_mem_save_mappings_1;
1209 if (ndr_flags & NDR_SCALARS) {
1210 NDR_CHECK(ndr_pull_align(ndr, 5));
1211 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
1212 if (r->num_mappings > 0x100000) {
1213 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1215 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
1216 if (_ptr_mappings) {
1217 NDR_PULL_ALLOC(ndr, r->mappings);
1221 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1223 if (ndr_flags & NDR_BUFFERS) {
1225 _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1226 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1227 NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
1228 NDR_PULL_ALLOC_N(ndr, r->mappings, ndr_get_array_size(ndr, &r->mappings));
1229 _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1230 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1231 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1232 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1234 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1235 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1237 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
1238 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
1241 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
1244 return NDR_ERR_SUCCESS;
1247 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1249 uint32_t cntr_mappings_1;
1250 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
1252 ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1253 ndr_print_ptr(ndr, "mappings", r->mappings);
1256 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1258 for (cntr_mappings_1=0;cntr_mappings_1<r->num_mappings;cntr_mappings_1++) {
1260 if (asprintf(&idx_1, "[%d]", cntr_mappings_1) != -1) {
1261 ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
1271 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
1274 uint32_t _flags_save_ENUM = ndr->flags;
1275 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1276 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1277 ndr->flags = _flags_save_ENUM;
1279 return NDR_ERR_SUCCESS;
1282 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
1286 uint32_t _flags_save_ENUM = ndr->flags;
1287 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1288 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1290 ndr->flags = _flags_save_ENUM;
1292 return NDR_ERR_SUCCESS;
1295 _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
1297 const char *val = NULL;
1300 uint32_t _flags_save_ENUM = ndr->flags;
1301 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1303 case DRSUAPI_ATTRIBUTE_objectClass: val = "DRSUAPI_ATTRIBUTE_objectClass"; break;
1304 case DRSUAPI_ATTRIBUTE_cn: val = "DRSUAPI_ATTRIBUTE_cn"; break;
1305 case DRSUAPI_ATTRIBUTE_description: val = "DRSUAPI_ATTRIBUTE_description"; break;
1306 case DRSUAPI_ATTRIBUTE_member: val = "DRSUAPI_ATTRIBUTE_member"; break;
1307 case DRSUAPI_ATTRIBUTE_instanceType: val = "DRSUAPI_ATTRIBUTE_instanceType"; break;
1308 case DRSUAPI_ATTRIBUTE_whenCreated: val = "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1309 case DRSUAPI_ATTRIBUTE_possSuperiors: val = "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1310 case DRSUAPI_ATTRIBUTE_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1311 case DRSUAPI_ATTRIBUTE_subClassOf: val = "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1312 case DRSUAPI_ATTRIBUTE_governsID: val = "DRSUAPI_ATTRIBUTE_governsID"; break;
1313 case DRSUAPI_ATTRIBUTE_mustContain: val = "DRSUAPI_ATTRIBUTE_mustContain"; break;
1314 case DRSUAPI_ATTRIBUTE_mayContain: val = "DRSUAPI_ATTRIBUTE_mayContain"; break;
1315 case DRSUAPI_ATTRIBUTE_rDNAttId: val = "DRSUAPI_ATTRIBUTE_rDNAttId"; break;
1316 case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1317 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1318 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1319 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1320 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1321 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1322 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1323 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1324 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1325 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1326 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1327 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1328 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1329 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1330 case DRSUAPI_ATTRIBUTE_auxiliaryClass: val = "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1331 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1332 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1333 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1334 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1335 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1336 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1337 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1338 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1339 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1340 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1341 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1342 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1343 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1344 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1345 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1346 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1347 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1348 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1349 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1350 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1351 case DRSUAPI_ATTRIBUTE_systemPossSuperiors: val = "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1352 case DRSUAPI_ATTRIBUTE_systemMayContain: val = "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1353 case DRSUAPI_ATTRIBUTE_systemMustContain: val = "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1354 case DRSUAPI_ATTRIBUTE_systemAuxiliaryClass: val = "DRSUAPI_ATTRIBUTE_systemAuxiliaryClass"; break;
1355 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1356 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1357 case DRSUAPI_ATTRIBUTE_options: val = "DRSUAPI_ATTRIBUTE_options"; break;
1358 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1359 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1360 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1361 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1362 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1363 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1364 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1365 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1366 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1367 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1368 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1369 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1370 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1371 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1372 case DRSUAPI_ATTRIBUTE_transportAddressAttribute: val = "DRSUAPI_ATTRIBUTE_transportAddressAttribute"; break;
1373 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1374 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1375 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1376 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1377 case DRSUAPI_ATTRIBUTE_NONE: val = "DRSUAPI_ATTRIBUTE_NONE"; break;
1379 ndr_print_enum(ndr, name, "ENUM", val, r);
1380 ndr->flags = _flags_save_ENUM;
1384 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1386 uint32_t cntr_attids_0;
1387 if (ndr_flags & NDR_SCALARS) {
1388 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
1389 NDR_CHECK(ndr_push_align(ndr, 4));
1390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1393 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1394 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1396 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1398 if (ndr_flags & NDR_BUFFERS) {
1400 return NDR_ERR_SUCCESS;
1403 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1405 uint32_t cntr_attids_0;
1406 TALLOC_CTX *_mem_save_attids_0;
1407 if (ndr_flags & NDR_SCALARS) {
1408 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1409 NDR_CHECK(ndr_pull_align(ndr, 4));
1410 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1411 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1412 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1413 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1414 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1416 NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids));
1417 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1418 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1419 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1420 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1422 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1424 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1426 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1428 if (ndr_flags & NDR_BUFFERS) {
1430 return NDR_ERR_SUCCESS;
1433 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1435 uint32_t cntr_attids_0;
1436 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1438 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1439 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1440 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1441 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1443 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1445 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1446 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1454 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1456 if (ndr_flags & NDR_SCALARS) {
1457 NDR_CHECK(ndr_push_align(ndr, 8));
1458 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1459 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1460 if (r->naming_context == NULL) {
1461 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1463 NDR_CHECK(ndr_push_ref_ptr(ndr));
1464 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1465 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1466 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1468 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1469 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1470 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1471 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1472 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1473 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1474 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1476 if (ndr_flags & NDR_BUFFERS) {
1477 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1478 if (r->uptodateness_vector) {
1479 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1481 if (r->partial_attribute_set) {
1482 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1484 if (r->partial_attribute_set_ex) {
1485 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1487 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1489 return NDR_ERR_SUCCESS;
1492 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1494 uint32_t _ptr_naming_context;
1495 TALLOC_CTX *_mem_save_naming_context_0;
1496 uint32_t _ptr_uptodateness_vector;
1497 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1498 uint32_t _ptr_partial_attribute_set;
1499 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1500 uint32_t _ptr_partial_attribute_set_ex;
1501 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1502 if (ndr_flags & NDR_SCALARS) {
1503 NDR_CHECK(ndr_pull_align(ndr, 8));
1504 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1505 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1506 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1507 if (_ptr_naming_context) {
1508 NDR_PULL_ALLOC(ndr, r->naming_context);
1510 r->naming_context = NULL;
1512 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1513 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1514 if (_ptr_uptodateness_vector) {
1515 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1517 r->uptodateness_vector = NULL;
1519 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1520 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1521 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1522 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1523 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1524 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1525 if (_ptr_partial_attribute_set) {
1526 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1528 r->partial_attribute_set = NULL;
1530 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1531 if (_ptr_partial_attribute_set_ex) {
1532 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1534 r->partial_attribute_set_ex = NULL;
1536 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1537 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1539 if (ndr_flags & NDR_BUFFERS) {
1540 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1541 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1542 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1543 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1544 if (r->uptodateness_vector) {
1545 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1546 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1547 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1548 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1550 if (r->partial_attribute_set) {
1551 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1552 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1553 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1554 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1556 if (r->partial_attribute_set_ex) {
1557 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1558 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1559 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1560 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1562 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1564 return NDR_ERR_SUCCESS;
1567 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1569 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1571 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1572 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1573 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1575 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1577 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1578 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1580 if (r->uptodateness_vector) {
1581 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1584 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1585 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1586 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1587 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1588 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1589 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1591 if (r->partial_attribute_set) {
1592 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1595 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1597 if (r->partial_attribute_set_ex) {
1598 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1601 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1605 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
1607 if (ndr_flags & NDR_SCALARS) {
1608 NDR_CHECK(ndr_push_align(ndr, 8));
1609 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1610 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1611 if (r->naming_context == NULL) {
1612 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1614 NDR_CHECK(ndr_push_ref_ptr(ndr));
1615 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1616 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1617 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
1618 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1619 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1620 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1621 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1622 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1623 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1624 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1625 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_flags));
1626 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1628 if (ndr_flags & NDR_BUFFERS) {
1629 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1630 if (r->uptodateness_vector) {
1631 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1633 if (r->partial_attribute_set) {
1634 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1636 if (r->partial_attribute_set_ex) {
1637 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1639 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1641 return NDR_ERR_SUCCESS;
1644 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
1646 uint32_t _ptr_naming_context;
1647 TALLOC_CTX *_mem_save_naming_context_0;
1648 uint32_t _ptr_uptodateness_vector;
1649 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1650 uint32_t _ptr_partial_attribute_set;
1651 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1652 uint32_t _ptr_partial_attribute_set_ex;
1653 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1654 if (ndr_flags & NDR_SCALARS) {
1655 NDR_CHECK(ndr_pull_align(ndr, 8));
1656 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1657 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1658 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1659 if (_ptr_naming_context) {
1660 NDR_PULL_ALLOC(ndr, r->naming_context);
1662 r->naming_context = NULL;
1664 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1665 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1666 if (_ptr_uptodateness_vector) {
1667 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1669 r->uptodateness_vector = NULL;
1671 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
1672 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1673 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1674 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1675 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1676 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1677 if (_ptr_partial_attribute_set) {
1678 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1680 r->partial_attribute_set = NULL;
1682 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1683 if (_ptr_partial_attribute_set_ex) {
1684 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1686 r->partial_attribute_set_ex = NULL;
1688 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1689 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_flags));
1690 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1692 if (ndr_flags & NDR_BUFFERS) {
1693 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1694 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1695 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1697 if (r->uptodateness_vector) {
1698 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1699 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1700 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1701 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1703 if (r->partial_attribute_set) {
1704 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1705 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1706 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1707 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1709 if (r->partial_attribute_set_ex) {
1710 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1711 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1712 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1713 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1715 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1717 return NDR_ERR_SUCCESS;
1720 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
1722 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
1724 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1725 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1726 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1728 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1730 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1731 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1733 if (r->uptodateness_vector) {
1734 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1737 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
1738 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1739 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1740 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1741 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1742 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1744 if (r->partial_attribute_set) {
1745 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1748 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1750 if (r->partial_attribute_set_ex) {
1751 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1754 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1755 ndr_print_uint32(ndr, "more_flags", r->more_flags);
1759 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1761 if (ndr_flags & NDR_SCALARS) {
1762 int level = ndr_push_get_switch_value(ndr, r);
1763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
1764 NDR_CHECK(ndr_push_union_align(ndr, 8));
1767 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1771 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1775 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1779 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1782 if (ndr_flags & NDR_BUFFERS) {
1783 int level = ndr_push_get_switch_value(ndr, r);
1786 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1790 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1794 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1798 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1801 return NDR_ERR_SUCCESS;
1804 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1808 level = ndr_pull_get_switch_value(ndr, r);
1809 if (ndr_flags & NDR_SCALARS) {
1810 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
1811 if (_level != level) {
1812 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1814 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1817 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1821 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1825 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1829 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1832 if (ndr_flags & NDR_BUFFERS) {
1835 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1839 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1843 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1847 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1850 return NDR_ERR_SUCCESS;
1853 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1856 level = ndr_print_get_switch_value(ndr, r);
1857 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1860 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1864 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1868 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
1872 ndr_print_bad_level(ndr, name, level);
1876 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1878 if (ndr_flags & NDR_SCALARS) {
1879 NDR_CHECK(ndr_push_align(ndr, 8));
1880 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1881 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1882 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1883 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1885 if (ndr_flags & NDR_BUFFERS) {
1887 return NDR_ERR_SUCCESS;
1890 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1892 if (ndr_flags & NDR_SCALARS) {
1893 NDR_CHECK(ndr_pull_align(ndr, 8));
1894 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1895 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1896 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1897 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1899 if (ndr_flags & NDR_BUFFERS) {
1901 return NDR_ERR_SUCCESS;
1904 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
1906 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
1908 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1909 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
1910 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
1914 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1916 uint32_t cntr_cursors_0;
1917 if (ndr_flags & NDR_SCALARS) {
1918 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1919 NDR_CHECK(ndr_push_align(ndr, 8));
1920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
1921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1922 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1923 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1924 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1925 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1927 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1929 if (ndr_flags & NDR_BUFFERS) {
1931 return NDR_ERR_SUCCESS;
1934 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
1936 uint32_t cntr_cursors_0;
1937 TALLOC_CTX *_mem_save_cursors_0;
1938 if (ndr_flags & NDR_SCALARS) {
1939 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
1940 NDR_CHECK(ndr_pull_align(ndr, 8));
1941 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1942 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1943 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1944 if (r->count > 0x100000) {
1945 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1947 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
1948 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
1949 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
1950 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
1951 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1952 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1954 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
1956 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
1958 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1960 if (ndr_flags & NDR_BUFFERS) {
1962 return NDR_ERR_SUCCESS;
1965 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1967 uint32_t cntr_cursors_0;
1968 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
1970 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
1971 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1972 ndr_print_uint32(ndr, "count", r->count);
1973 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
1974 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
1976 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
1978 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
1979 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
1987 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
1989 if (ndr_flags & NDR_SCALARS) {
1990 NDR_CHECK(ndr_push_align(ndr, 5));
1991 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
1992 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
1993 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1995 if (ndr_flags & NDR_BUFFERS) {
1997 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
2000 return NDR_ERR_SUCCESS;
2003 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
2006 TALLOC_CTX *_mem_save_blob_0;
2007 if (ndr_flags & NDR_SCALARS) {
2008 NDR_CHECK(ndr_pull_align(ndr, 5));
2009 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2010 if (r->__ndr_size > 10485760) {
2011 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2013 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
2015 NDR_PULL_ALLOC(ndr, r->blob);
2019 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2021 if (ndr_flags & NDR_BUFFERS) {
2023 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
2024 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
2025 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
2026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
2029 return NDR_ERR_SUCCESS;
2032 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
2034 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
2036 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
2037 ndr_print_ptr(ndr, "blob", r->blob);
2040 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
2046 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
2048 uint32_t cntr_values_1;
2049 if (ndr_flags & NDR_SCALARS) {
2050 NDR_CHECK(ndr_push_align(ndr, 5));
2051 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
2052 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
2053 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2055 if (ndr_flags & NDR_BUFFERS) {
2057 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
2058 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2059 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2061 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2062 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2066 return NDR_ERR_SUCCESS;
2069 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
2071 uint32_t _ptr_values;
2072 uint32_t cntr_values_1;
2073 TALLOC_CTX *_mem_save_values_0;
2074 TALLOC_CTX *_mem_save_values_1;
2075 if (ndr_flags & NDR_SCALARS) {
2076 NDR_CHECK(ndr_pull_align(ndr, 5));
2077 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
2078 if (r->num_values > 10485760) {
2079 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2081 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
2083 NDR_PULL_ALLOC(ndr, r->values);
2087 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2089 if (ndr_flags & NDR_BUFFERS) {
2091 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2092 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2093 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
2094 NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values));
2095 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
2096 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2097 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2098 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2100 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2101 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2103 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
2104 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
2107 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
2110 return NDR_ERR_SUCCESS;
2113 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
2115 uint32_t cntr_values_1;
2116 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
2118 ndr_print_uint32(ndr, "num_values", r->num_values);
2119 ndr_print_ptr(ndr, "values", r->values);
2122 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
2124 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
2126 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
2127 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
2137 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2139 if (ndr_flags & NDR_SCALARS) {
2140 NDR_CHECK(ndr_push_align(ndr, 4));
2141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2142 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2143 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2144 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2146 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2147 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2149 if (ndr_flags & NDR_BUFFERS) {
2150 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2152 return NDR_ERR_SUCCESS;
2155 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
2157 if (ndr_flags & NDR_SCALARS) {
2158 NDR_CHECK(ndr_pull_align(ndr, 4));
2159 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2160 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2161 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2162 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2163 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2164 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2165 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2167 if (ndr_flags & NDR_BUFFERS) {
2168 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2170 return NDR_ERR_SUCCESS;
2173 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2175 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
2177 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
2178 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);
2179 ndr_print_GUID(ndr, "guid", &r->guid);
2180 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2181 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2182 ndr_print_string(ndr, "dn", r->dn);
2186 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags)
2188 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic);
2191 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2193 if (ndr_flags & NDR_SCALARS) {
2194 NDR_CHECK(ndr_push_align(ndr, 4));
2195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags)));
2196 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2197 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2198 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2199 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2200 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2201 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
2203 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2204 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2205 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
2206 ndr->flags = _flags_save_DATA_BLOB;
2208 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2210 if (ndr_flags & NDR_BUFFERS) {
2211 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2213 return NDR_ERR_SUCCESS;
2216 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2218 if (ndr_flags & NDR_SCALARS) {
2219 NDR_CHECK(ndr_pull_align(ndr, 4));
2220 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2221 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2222 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2223 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2224 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2225 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2226 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
2228 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2229 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2230 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
2231 ndr->flags = _flags_save_DATA_BLOB;
2233 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2235 if (ndr_flags & NDR_BUFFERS) {
2236 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2238 return NDR_ERR_SUCCESS;
2241 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2243 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2245 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
2246 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);
2247 ndr_print_GUID(ndr, "guid", &r->guid);
2248 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2249 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2250 ndr_print_string(ndr, "dn", r->dn);
2251 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2252 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2256 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2258 if (ndr_flags & NDR_SCALARS) {
2259 NDR_CHECK(ndr_push_align(ndr, 5));
2260 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2261 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2262 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2264 if (ndr_flags & NDR_BUFFERS) {
2265 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2267 return NDR_ERR_SUCCESS;
2270 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2272 if (ndr_flags & NDR_SCALARS) {
2273 NDR_CHECK(ndr_pull_align(ndr, 5));
2274 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2275 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2276 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2278 if (ndr_flags & NDR_BUFFERS) {
2279 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2281 return NDR_ERR_SUCCESS;
2284 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2286 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2288 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2289 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2293 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2295 uint32_t cntr_attributes_1;
2296 if (ndr_flags & NDR_SCALARS) {
2297 NDR_CHECK(ndr_push_align(ndr, 5));
2298 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2299 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2300 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2302 if (ndr_flags & NDR_BUFFERS) {
2303 if (r->attributes) {
2304 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
2305 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2306 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2308 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2309 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2313 return NDR_ERR_SUCCESS;
2316 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2318 uint32_t _ptr_attributes;
2319 uint32_t cntr_attributes_1;
2320 TALLOC_CTX *_mem_save_attributes_0;
2321 TALLOC_CTX *_mem_save_attributes_1;
2322 if (ndr_flags & NDR_SCALARS) {
2323 NDR_CHECK(ndr_pull_align(ndr, 5));
2324 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2325 if (r->num_attributes > 1048576) {
2326 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2328 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2329 if (_ptr_attributes) {
2330 NDR_PULL_ALLOC(ndr, r->attributes);
2332 r->attributes = NULL;
2334 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2336 if (ndr_flags & NDR_BUFFERS) {
2337 if (r->attributes) {
2338 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2339 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2340 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2341 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes));
2342 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2343 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2344 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2345 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2347 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2348 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2350 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2351 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2353 if (r->attributes) {
2354 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2357 return NDR_ERR_SUCCESS;
2360 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2362 uint32_t cntr_attributes_1;
2363 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2365 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2366 ndr_print_ptr(ndr, "attributes", r->attributes);
2368 if (r->attributes) {
2369 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2371 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2373 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2374 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2384 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2387 return NDR_ERR_SUCCESS;
2390 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2393 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2395 return NDR_ERR_SUCCESS;
2398 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2400 ndr_print_uint32(ndr, name, r);
2402 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2403 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2404 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2408 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2410 if (ndr_flags & NDR_SCALARS) {
2411 NDR_CHECK(ndr_push_align(ndr, 5));
2412 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2413 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2414 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2415 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2417 if (ndr_flags & NDR_BUFFERS) {
2418 if (r->identifier) {
2419 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2421 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2423 return NDR_ERR_SUCCESS;
2426 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2428 uint32_t _ptr_identifier;
2429 TALLOC_CTX *_mem_save_identifier_0;
2430 if (ndr_flags & NDR_SCALARS) {
2431 NDR_CHECK(ndr_pull_align(ndr, 5));
2432 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2433 if (_ptr_identifier) {
2434 NDR_PULL_ALLOC(ndr, r->identifier);
2436 r->identifier = NULL;
2438 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2439 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2440 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2442 if (ndr_flags & NDR_BUFFERS) {
2443 if (r->identifier) {
2444 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2445 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2446 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2447 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2449 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2451 return NDR_ERR_SUCCESS;
2454 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2456 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2458 ndr_print_ptr(ndr, "identifier", r->identifier);
2460 if (r->identifier) {
2461 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2464 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2465 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2469 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2471 if (ndr_flags & NDR_SCALARS) {
2472 NDR_CHECK(ndr_push_align(ndr, 8));
2473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2474 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2475 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2476 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2477 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2479 if (ndr_flags & NDR_BUFFERS) {
2481 return NDR_ERR_SUCCESS;
2484 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2486 if (ndr_flags & NDR_SCALARS) {
2487 NDR_CHECK(ndr_pull_align(ndr, 8));
2488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2489 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2490 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2491 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2492 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2494 if (ndr_flags & NDR_BUFFERS) {
2496 return NDR_ERR_SUCCESS;
2499 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2501 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2503 ndr_print_uint32(ndr, "version", r->version);
2504 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2505 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2506 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2510 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2512 uint32_t cntr_meta_data_0;
2513 if (ndr_flags & NDR_SCALARS) {
2514 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2515 NDR_CHECK(ndr_push_align(ndr, 8));
2516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2517 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2518 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2520 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2522 if (ndr_flags & NDR_BUFFERS) {
2524 return NDR_ERR_SUCCESS;
2527 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2529 uint32_t cntr_meta_data_0;
2530 TALLOC_CTX *_mem_save_meta_data_0;
2531 if (ndr_flags & NDR_SCALARS) {
2532 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2533 NDR_CHECK(ndr_pull_align(ndr, 8));
2534 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2535 if (r->count > 1048576) {
2536 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2538 NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data));
2539 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2540 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2541 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2542 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2546 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2548 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2550 if (ndr_flags & NDR_BUFFERS) {
2552 return NDR_ERR_SUCCESS;
2555 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2557 uint32_t cntr_meta_data_0;
2558 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2560 ndr_print_uint32(ndr, "count", r->count);
2561 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2563 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2565 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2566 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2574 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2576 if (ndr_flags & NDR_SCALARS) {
2577 NDR_CHECK(ndr_push_align(ndr, 5));
2578 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2579 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2581 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2583 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2585 if (ndr_flags & NDR_BUFFERS) {
2586 if (r->next_object) {
2587 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2589 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2590 if (r->parent_object_guid) {
2591 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2593 if (r->meta_data_ctr) {
2594 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2597 return NDR_ERR_SUCCESS;
2600 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2602 uint32_t _ptr_next_object;
2603 TALLOC_CTX *_mem_save_next_object_0;
2604 uint32_t _ptr_parent_object_guid;
2605 TALLOC_CTX *_mem_save_parent_object_guid_0;
2606 uint32_t _ptr_meta_data_ctr;
2607 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2608 if (ndr_flags & NDR_SCALARS) {
2609 NDR_CHECK(ndr_pull_align(ndr, 5));
2610 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2611 if (_ptr_next_object) {
2612 NDR_PULL_ALLOC(ndr, r->next_object);
2614 r->next_object = NULL;
2616 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2617 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2618 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2619 if (_ptr_parent_object_guid) {
2620 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2622 r->parent_object_guid = NULL;
2624 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2625 if (_ptr_meta_data_ctr) {
2626 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2628 r->meta_data_ctr = NULL;
2630 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2632 if (ndr_flags & NDR_BUFFERS) {
2633 if (r->next_object) {
2634 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2635 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2636 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2639 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2640 if (r->parent_object_guid) {
2641 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2642 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2643 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2646 if (r->meta_data_ctr) {
2647 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2648 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2649 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2650 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2653 return NDR_ERR_SUCCESS;
2656 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2658 if (ndr_flags & NDR_SCALARS) {
2659 NDR_CHECK(ndr_push_align(ndr, 8));
2660 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2661 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2662 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2663 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2664 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2665 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2666 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2667 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2668 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2669 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55));
2670 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2671 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2672 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2674 if (ndr_flags & NDR_BUFFERS) {
2675 if (r->naming_context) {
2676 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2678 if (r->uptodateness_vector) {
2679 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2681 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2682 if (r->first_object) {
2683 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2686 return NDR_ERR_SUCCESS;
2689 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2691 uint32_t _ptr_naming_context;
2692 TALLOC_CTX *_mem_save_naming_context_0;
2693 uint32_t _ptr_uptodateness_vector;
2694 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2695 uint32_t _ptr_first_object;
2696 TALLOC_CTX *_mem_save_first_object_0;
2697 if (ndr_flags & NDR_SCALARS) {
2698 NDR_CHECK(ndr_pull_align(ndr, 8));
2699 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2700 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2701 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2702 if (_ptr_naming_context) {
2703 NDR_PULL_ALLOC(ndr, r->naming_context);
2705 r->naming_context = NULL;
2707 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2708 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2709 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2710 if (_ptr_uptodateness_vector) {
2711 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2713 r->uptodateness_vector = NULL;
2715 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2716 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2717 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2718 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2719 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2720 if (_ptr_first_object) {
2721 NDR_PULL_ALLOC(ndr, r->first_object);
2723 r->first_object = NULL;
2725 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2726 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2728 if (ndr_flags & NDR_BUFFERS) {
2729 if (r->naming_context) {
2730 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2731 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2732 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2733 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2735 if (r->uptodateness_vector) {
2736 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2737 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2738 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2741 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2742 if (r->first_object) {
2743 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2744 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2745 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2746 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2749 return NDR_ERR_SUCCESS;
2752 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2754 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2756 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2757 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2758 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2760 if (r->naming_context) {
2761 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2764 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2765 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2766 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2768 if (r->uptodateness_vector) {
2769 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2772 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2773 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2774 ndr_print_uint32(ndr, "object_count", r->object_count);
2775 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55:r->__ndr_size);
2776 ndr_print_ptr(ndr, "first_object", r->first_object);
2778 if (r->first_object) {
2779 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2782 ndr_print_uint32(ndr, "more_data", r->more_data);
2786 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags)
2788 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic);
2791 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2794 return NDR_ERR_SUCCESS;
2797 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2800 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2802 return NDR_ERR_SUCCESS;
2805 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2807 ndr_print_uint32(ndr, name, r);
2809 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2813 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2815 if (ndr_flags & NDR_SCALARS) {
2816 NDR_CHECK(ndr_push_align(ndr, 8));
2817 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2818 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2819 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2820 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2821 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2822 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2823 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2825 if (ndr_flags & NDR_BUFFERS) {
2826 if (r->identifier) {
2827 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2829 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2831 return NDR_ERR_SUCCESS;
2834 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2836 uint32_t _ptr_identifier;
2837 TALLOC_CTX *_mem_save_identifier_0;
2838 if (ndr_flags & NDR_SCALARS) {
2839 NDR_CHECK(ndr_pull_align(ndr, 8));
2840 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2841 if (_ptr_identifier) {
2842 NDR_PULL_ALLOC(ndr, r->identifier);
2844 r->identifier = NULL;
2846 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2847 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2848 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2849 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2850 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2851 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2853 if (ndr_flags & NDR_BUFFERS) {
2854 if (r->identifier) {
2855 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2856 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2857 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2858 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2860 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2862 return NDR_ERR_SUCCESS;
2865 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2867 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2869 ndr_print_ptr(ndr, "identifier", r->identifier);
2871 if (r->identifier) {
2872 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2875 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2876 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2877 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2878 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2879 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2883 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2885 uint32_t cntr_linked_attributes_1;
2886 if (ndr_flags & NDR_SCALARS) {
2887 NDR_CHECK(ndr_push_align(ndr, 8));
2888 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2889 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2890 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2891 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2892 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2893 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2894 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2895 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2896 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2897 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55));
2898 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2899 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2900 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2901 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2902 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2903 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2904 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2905 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2907 if (ndr_flags & NDR_BUFFERS) {
2908 if (r->naming_context) {
2909 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2911 if (r->uptodateness_vector) {
2912 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2914 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2915 if (r->first_object) {
2916 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2918 if (r->linked_attributes) {
2919 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
2920 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2921 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2923 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2924 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
2928 return NDR_ERR_SUCCESS;
2931 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
2933 uint32_t _ptr_naming_context;
2934 TALLOC_CTX *_mem_save_naming_context_0;
2935 uint32_t _ptr_uptodateness_vector;
2936 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2937 uint32_t _ptr_first_object;
2938 TALLOC_CTX *_mem_save_first_object_0;
2939 uint32_t _ptr_linked_attributes;
2940 uint32_t cntr_linked_attributes_1;
2941 TALLOC_CTX *_mem_save_linked_attributes_0;
2942 TALLOC_CTX *_mem_save_linked_attributes_1;
2943 if (ndr_flags & NDR_SCALARS) {
2944 NDR_CHECK(ndr_pull_align(ndr, 8));
2945 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2946 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2947 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2948 if (_ptr_naming_context) {
2949 NDR_PULL_ALLOC(ndr, r->naming_context);
2951 r->naming_context = NULL;
2953 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2954 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2955 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2956 if (_ptr_uptodateness_vector) {
2957 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2959 r->uptodateness_vector = NULL;
2961 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2962 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2963 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2964 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2965 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2966 if (_ptr_first_object) {
2967 NDR_PULL_ALLOC(ndr, r->first_object);
2969 r->first_object = NULL;
2971 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2972 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
2973 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
2974 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
2975 if (r->linked_attributes_count > 1048576) {
2976 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2978 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
2979 if (_ptr_linked_attributes) {
2980 NDR_PULL_ALLOC(ndr, r->linked_attributes);
2982 r->linked_attributes = NULL;
2984 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
2985 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2987 if (ndr_flags & NDR_BUFFERS) {
2988 if (r->naming_context) {
2989 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2990 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2991 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2992 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2994 if (r->uptodateness_vector) {
2995 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2996 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2997 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2998 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
3000 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
3001 if (r->first_object) {
3002 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
3003 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
3004 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
3005 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
3007 if (r->linked_attributes) {
3008 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
3009 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3010 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
3011 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes));
3012 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
3013 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3014 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3015 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3017 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3018 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3020 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
3021 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
3023 if (r->linked_attributes) {
3024 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
3027 return NDR_ERR_SUCCESS;
3030 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
3032 uint32_t cntr_linked_attributes_1;
3033 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
3035 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3036 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3037 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3039 if (r->naming_context) {
3040 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3043 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3044 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3045 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3047 if (r->uptodateness_vector) {
3048 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3051 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3052 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3053 ndr_print_uint32(ndr, "object_count", r->object_count);
3054 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55:r->__ndr_size);
3055 ndr_print_ptr(ndr, "first_object", r->first_object);
3057 if (r->first_object) {
3058 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3061 ndr_print_uint32(ndr, "more_data", r->more_data);
3062 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
3063 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
3064 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
3065 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
3067 if (r->linked_attributes) {
3068 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
3070 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
3072 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
3073 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
3080 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
3084 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags)
3086 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic);
3089 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3091 if (ndr_flags & NDR_SCALARS) {
3092 NDR_CHECK(ndr_push_align(ndr, 1));
3094 struct ndr_push *_ndr_ctr1;
3095 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3096 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3097 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3099 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3101 if (ndr_flags & NDR_BUFFERS) {
3103 return NDR_ERR_SUCCESS;
3106 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
3108 if (ndr_flags & NDR_SCALARS) {
3109 NDR_CHECK(ndr_pull_align(ndr, 1));
3111 struct ndr_pull *_ndr_ctr1;
3112 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3113 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3114 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3116 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3118 if (ndr_flags & NDR_BUFFERS) {
3120 return NDR_ERR_SUCCESS;
3123 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3125 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
3127 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3131 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3133 if (ndr_flags & NDR_SCALARS) {
3134 NDR_CHECK(ndr_push_align(ndr, 1));
3136 struct ndr_push *_ndr_ctr6;
3137 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3138 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3139 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3141 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3143 if (ndr_flags & NDR_BUFFERS) {
3145 return NDR_ERR_SUCCESS;
3148 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
3150 if (ndr_flags & NDR_SCALARS) {
3151 NDR_CHECK(ndr_pull_align(ndr, 1));
3153 struct ndr_pull *_ndr_ctr6;
3154 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3155 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3156 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3158 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3160 if (ndr_flags & NDR_BUFFERS) {
3162 return NDR_ERR_SUCCESS;
3165 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3167 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
3169 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3173 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3176 TALLOC_CTX *_mem_save_ts_0;
3177 if (ndr_flags & NDR_SCALARS) {
3178 NDR_CHECK(ndr_pull_align(ndr, 5));
3179 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3181 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3183 NDR_PULL_ALLOC(ndr, r->ts);
3187 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3189 if (ndr_flags & NDR_BUFFERS) {
3191 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3192 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3194 struct ndr_pull *_ndr_ts;
3195 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3197 struct ndr_pull *_ndr_ts_compressed;
3198 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3199 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3200 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3202 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3204 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3207 return NDR_ERR_SUCCESS;
3210 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3212 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
3214 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3215 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3216 ndr_print_ptr(ndr, "ts", r->ts);
3219 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3225 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3228 TALLOC_CTX *_mem_save_ts_0;
3229 if (ndr_flags & NDR_SCALARS) {
3230 NDR_CHECK(ndr_pull_align(ndr, 5));
3231 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3232 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3233 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3235 NDR_PULL_ALLOC(ndr, r->ts);
3239 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3241 if (ndr_flags & NDR_BUFFERS) {
3243 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3244 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3246 struct ndr_pull *_ndr_ts;
3247 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3249 struct ndr_pull *_ndr_ts_compressed;
3250 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3251 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3252 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3254 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3256 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3259 return NDR_ERR_SUCCESS;
3262 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3264 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3266 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3267 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3268 ndr_print_ptr(ndr, "ts", r->ts);
3271 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3277 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3280 TALLOC_CTX *_mem_save_ts_0;
3281 if (ndr_flags & NDR_SCALARS) {
3282 NDR_CHECK(ndr_pull_align(ndr, 5));
3283 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3284 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3285 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3287 NDR_PULL_ALLOC(ndr, r->ts);
3291 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3293 if (ndr_flags & NDR_BUFFERS) {
3295 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3296 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3298 struct ndr_pull *_ndr_ts;
3299 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3301 struct ndr_pull *_ndr_ts_compressed;
3302 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3303 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3304 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3306 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3308 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3311 return NDR_ERR_SUCCESS;
3314 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3316 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3318 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3319 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3320 ndr_print_ptr(ndr, "ts", r->ts);
3323 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3329 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3332 TALLOC_CTX *_mem_save_ts_0;
3333 if (ndr_flags & NDR_SCALARS) {
3334 NDR_CHECK(ndr_pull_align(ndr, 5));
3335 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3336 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3337 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3339 NDR_PULL_ALLOC(ndr, r->ts);
3343 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3345 if (ndr_flags & NDR_BUFFERS) {
3347 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3348 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3350 struct ndr_pull *_ndr_ts;
3351 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3353 struct ndr_pull *_ndr_ts_compressed;
3354 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3355 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3356 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3358 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3360 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3363 return NDR_ERR_SUCCESS;
3366 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3368 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3370 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3371 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3372 ndr_print_ptr(ndr, "ts", r->ts);
3375 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3381 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3383 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3384 return NDR_ERR_SUCCESS;
3387 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3390 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3392 return NDR_ERR_SUCCESS;
3395 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3397 const char *val = NULL;
3400 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3401 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3403 ndr_print_enum(ndr, name, "ENUM", val, r);
3406 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3409 uint32_t _flags_save_UNION = ndr->flags;
3410 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3411 if (ndr_flags & NDR_SCALARS) {
3412 int level = ndr_push_get_switch_value(ndr, r);
3413 NDR_CHECK(ndr_push_union_align(ndr, 5));
3415 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3416 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3419 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3420 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3423 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3424 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3427 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3428 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3432 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3435 if (ndr_flags & NDR_BUFFERS) {
3436 int level = ndr_push_get_switch_value(ndr, r);
3438 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3439 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3442 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3443 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3446 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3447 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3450 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3451 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3455 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3458 ndr->flags = _flags_save_UNION;
3460 return NDR_ERR_SUCCESS;
3463 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3467 uint32_t _flags_save_UNION = ndr->flags;
3468 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3469 level = ndr_pull_get_switch_value(ndr, r);
3470 if (ndr_flags & NDR_SCALARS) {
3471 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3473 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3474 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3477 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3478 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3481 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3482 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3485 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3486 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3490 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3493 if (ndr_flags & NDR_BUFFERS) {
3495 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3496 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3499 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3500 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3503 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3504 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3507 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3508 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3512 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3515 ndr->flags = _flags_save_UNION;
3517 return NDR_ERR_SUCCESS;
3520 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3524 uint32_t _flags_save_UNION = ndr->flags;
3525 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3526 level = ndr_print_get_switch_value(ndr, r);
3527 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3529 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3530 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3533 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3534 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3537 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3538 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3541 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3542 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3546 ndr_print_bad_level(ndr, name, level);
3548 ndr->flags = _flags_save_UNION;
3552 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3554 if (ndr_flags & NDR_SCALARS) {
3555 NDR_CHECK(ndr_push_align(ndr, 5));
3556 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3557 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3559 if (ndr_flags & NDR_BUFFERS) {
3560 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3562 return NDR_ERR_SUCCESS;
3565 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3567 if (ndr_flags & NDR_SCALARS) {
3568 NDR_CHECK(ndr_pull_align(ndr, 5));
3569 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3570 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3572 if (ndr_flags & NDR_BUFFERS) {
3573 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3575 return NDR_ERR_SUCCESS;
3578 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3580 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3582 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3586 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3588 if (ndr_flags & NDR_SCALARS) {
3589 NDR_CHECK(ndr_push_align(ndr, 5));
3590 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
3591 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3592 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3593 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3594 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3596 if (ndr_flags & NDR_BUFFERS) {
3597 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3599 return NDR_ERR_SUCCESS;
3602 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3604 if (ndr_flags & NDR_SCALARS) {
3605 NDR_CHECK(ndr_pull_align(ndr, 5));
3606 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
3608 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3610 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3611 if (r->type < 2 || r->type > 3) {
3612 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3614 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3615 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3616 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3618 if (ndr_flags & NDR_BUFFERS) {
3619 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3621 return NDR_ERR_SUCCESS;
3624 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3626 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3628 ndr_print_uint32(ndr, "level", r->level);
3629 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3630 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3631 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3635 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3637 if (ndr_flags & NDR_SCALARS) {
3638 int level = ndr_push_get_switch_value(ndr, r);
3639 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
3640 NDR_CHECK(ndr_push_union_align(ndr, 8));
3643 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3647 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3651 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3655 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3659 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3662 if (ndr_flags & NDR_BUFFERS) {
3663 int level = ndr_push_get_switch_value(ndr, r);
3666 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3670 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3674 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3678 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3682 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3685 return NDR_ERR_SUCCESS;
3688 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3692 level = ndr_pull_get_switch_value(ndr, r);
3693 if (ndr_flags & NDR_SCALARS) {
3694 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
3695 if (_level != level) {
3696 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3698 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3701 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3705 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3709 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3713 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3717 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3720 if (ndr_flags & NDR_BUFFERS) {
3723 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3727 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3731 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3735 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3739 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3742 return NDR_ERR_SUCCESS;
3745 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3748 level = ndr_print_get_switch_value(ndr, r);
3749 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3752 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3756 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3760 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3764 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3768 ndr_print_bad_level(ndr, name, level);
3772 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3774 if (ndr_flags & NDR_SCALARS) {
3775 NDR_CHECK(ndr_push_align(ndr, 5));
3776 if (r->naming_context == NULL) {
3777 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3779 NDR_CHECK(ndr_push_ref_ptr(ndr));
3780 if (r->dest_dsa_dns_name == NULL) {
3781 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3783 NDR_CHECK(ndr_push_ref_ptr(ndr));
3784 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3785 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
3786 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3788 if (ndr_flags & NDR_BUFFERS) {
3789 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3790 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3791 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3792 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3793 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));
3795 return NDR_ERR_SUCCESS;
3798 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3800 uint32_t _ptr_naming_context;
3801 TALLOC_CTX *_mem_save_naming_context_0;
3802 uint32_t _ptr_dest_dsa_dns_name;
3803 if (ndr_flags & NDR_SCALARS) {
3804 NDR_CHECK(ndr_pull_align(ndr, 5));
3805 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3806 if (_ptr_naming_context) {
3807 NDR_PULL_ALLOC(ndr, r->naming_context);
3809 r->naming_context = NULL;
3811 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3812 if (_ptr_dest_dsa_dns_name) {
3813 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3815 r->dest_dsa_dns_name = NULL;
3817 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3818 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
3819 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3821 if (ndr_flags & NDR_BUFFERS) {
3822 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3823 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3824 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3826 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3827 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3828 if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) {
3829 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dest_dsa_dns_name), ndr_get_array_length(ndr, &r->dest_dsa_dns_name));
3831 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t)));
3832 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dest_dsa_dns_name, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t), CH_DOS));
3834 return NDR_ERR_SUCCESS;
3837 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3839 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3841 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3843 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3845 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3847 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3849 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3850 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
3854 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3856 if (ndr_flags & NDR_SCALARS) {
3857 int level = ndr_push_get_switch_value(ndr, r);
3858 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
3859 NDR_CHECK(ndr_push_union_align(ndr, 5));
3862 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3866 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3869 if (ndr_flags & NDR_BUFFERS) {
3870 int level = ndr_push_get_switch_value(ndr, r);
3873 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3877 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3880 return NDR_ERR_SUCCESS;
3883 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3887 level = ndr_pull_get_switch_value(ndr, r);
3888 if (ndr_flags & NDR_SCALARS) {
3889 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
3890 if (_level != level) {
3891 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3893 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3896 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3900 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3903 if (ndr_flags & NDR_BUFFERS) {
3906 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3910 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3913 return NDR_ERR_SUCCESS;
3916 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3919 level = ndr_print_get_switch_value(ndr, r);
3920 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
3923 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
3927 ndr_print_bad_level(ndr, name, level);
3931 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
3933 if (ndr_flags & NDR_SCALARS) {
3934 NDR_CHECK(ndr_push_align(ndr, 5));
3935 if (r->naming_context == NULL) {
3936 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3938 NDR_CHECK(ndr_push_ref_ptr(ndr));
3939 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
3940 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
3941 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
3942 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3944 if (ndr_flags & NDR_BUFFERS) {
3945 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3946 if (r->source_dsa_address) {
3947 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3948 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3949 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3950 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));
3953 return NDR_ERR_SUCCESS;
3956 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
3958 uint32_t _ptr_naming_context;
3959 TALLOC_CTX *_mem_save_naming_context_0;
3960 uint32_t _ptr_source_dsa_address;
3961 TALLOC_CTX *_mem_save_source_dsa_address_0;
3962 if (ndr_flags & NDR_SCALARS) {
3963 NDR_CHECK(ndr_pull_align(ndr, 5));
3964 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3965 if (_ptr_naming_context) {
3966 NDR_PULL_ALLOC(ndr, r->naming_context);
3968 r->naming_context = NULL;
3970 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
3971 if (_ptr_source_dsa_address) {
3972 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
3974 r->source_dsa_address = NULL;
3976 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
3977 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
3978 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3980 if (ndr_flags & NDR_BUFFERS) {
3981 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3982 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3983 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3984 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3985 if (r->source_dsa_address) {
3986 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
3987 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
3988 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
3989 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
3990 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
3991 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
3993 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
3994 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
3995 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
3998 return NDR_ERR_SUCCESS;
4001 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
4003 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
4005 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4007 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4009 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4011 if (r->source_dsa_address) {
4012 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4015 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4016 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4020 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
4022 if (ndr_flags & NDR_SCALARS) {
4023 NDR_CHECK(ndr_push_align(ndr, 5));
4024 if (r->naming_context == NULL) {
4025 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4027 NDR_CHECK(ndr_push_ref_ptr(ndr));
4028 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
4029 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
4030 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4031 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4032 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4033 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4035 if (ndr_flags & NDR_BUFFERS) {
4036 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4037 if (r->source_dsa_dn) {
4038 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4040 if (r->transport_dn) {
4041 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4043 if (r->source_dsa_address) {
4044 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4045 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4046 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4047 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));
4050 return NDR_ERR_SUCCESS;
4053 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
4055 uint32_t _ptr_naming_context;
4056 TALLOC_CTX *_mem_save_naming_context_0;
4057 uint32_t _ptr_source_dsa_dn;
4058 TALLOC_CTX *_mem_save_source_dsa_dn_0;
4059 uint32_t _ptr_transport_dn;
4060 TALLOC_CTX *_mem_save_transport_dn_0;
4061 uint32_t _ptr_source_dsa_address;
4062 TALLOC_CTX *_mem_save_source_dsa_address_0;
4063 if (ndr_flags & NDR_SCALARS) {
4064 NDR_CHECK(ndr_pull_align(ndr, 5));
4065 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4066 if (_ptr_naming_context) {
4067 NDR_PULL_ALLOC(ndr, r->naming_context);
4069 r->naming_context = NULL;
4071 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
4072 if (_ptr_source_dsa_dn) {
4073 NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
4075 r->source_dsa_dn = NULL;
4077 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
4078 if (_ptr_transport_dn) {
4079 NDR_PULL_ALLOC(ndr, r->transport_dn);
4081 r->transport_dn = NULL;
4083 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4084 if (_ptr_source_dsa_address) {
4085 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4087 r->source_dsa_address = NULL;
4089 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4090 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4091 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4093 if (ndr_flags & NDR_BUFFERS) {
4094 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4095 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4096 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4098 if (r->source_dsa_dn) {
4099 _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4100 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
4101 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4102 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
4104 if (r->transport_dn) {
4105 _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4106 NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
4107 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
4110 if (r->source_dsa_address) {
4111 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4112 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4113 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4114 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4115 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4116 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
4118 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4119 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
4120 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4123 return NDR_ERR_SUCCESS;
4126 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
4128 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
4130 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4132 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4134 ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
4136 if (r->source_dsa_dn) {
4137 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
4140 ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
4142 if (r->transport_dn) {
4143 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
4146 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4148 if (r->source_dsa_address) {
4149 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4152 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4153 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4157 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
4159 if (ndr_flags & NDR_SCALARS) {
4160 int level = ndr_push_get_switch_value(ndr, r);
4161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4162 NDR_CHECK(ndr_push_union_align(ndr, 5));
4165 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4169 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4173 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4176 if (ndr_flags & NDR_BUFFERS) {
4177 int level = ndr_push_get_switch_value(ndr, r);
4180 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4184 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4188 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4191 return NDR_ERR_SUCCESS;
4194 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
4198 level = ndr_pull_get_switch_value(ndr, r);
4199 if (ndr_flags & NDR_SCALARS) {
4200 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4201 if (_level != level) {
4202 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4204 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4207 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4211 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4215 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4218 if (ndr_flags & NDR_BUFFERS) {
4221 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4225 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4229 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4232 return NDR_ERR_SUCCESS;
4235 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4238 level = ndr_print_get_switch_value(ndr, r);
4239 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4242 ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4246 ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4250 ndr_print_bad_level(ndr, name, level);
4254 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4256 if (ndr_flags & NDR_SCALARS) {
4257 NDR_CHECK(ndr_push_align(ndr, 5));
4258 if (r->naming_context == NULL) {
4259 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4261 NDR_CHECK(ndr_push_ref_ptr(ndr));
4262 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4263 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4264 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4266 if (ndr_flags & NDR_BUFFERS) {
4267 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4268 if (r->source_dsa_address) {
4269 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4270 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4271 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4272 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));
4275 return NDR_ERR_SUCCESS;
4278 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4280 uint32_t _ptr_naming_context;
4281 TALLOC_CTX *_mem_save_naming_context_0;
4282 uint32_t _ptr_source_dsa_address;
4283 TALLOC_CTX *_mem_save_source_dsa_address_0;
4284 if (ndr_flags & NDR_SCALARS) {
4285 NDR_CHECK(ndr_pull_align(ndr, 5));
4286 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4287 if (_ptr_naming_context) {
4288 NDR_PULL_ALLOC(ndr, r->naming_context);
4290 r->naming_context = NULL;
4292 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4293 if (_ptr_source_dsa_address) {
4294 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4296 r->source_dsa_address = NULL;
4298 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4299 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4301 if (ndr_flags & NDR_BUFFERS) {
4302 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4303 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4304 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4306 if (r->source_dsa_address) {
4307 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4308 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4309 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4310 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4311 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4312 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
4314 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4315 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
4316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4319 return NDR_ERR_SUCCESS;
4322 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4324 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4326 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4328 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4330 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4332 if (r->source_dsa_address) {
4333 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4336 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4340 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4342 if (ndr_flags & NDR_SCALARS) {
4343 int level = ndr_push_get_switch_value(ndr, r);
4344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4345 NDR_CHECK(ndr_push_union_align(ndr, 5));
4348 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4352 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4355 if (ndr_flags & NDR_BUFFERS) {
4356 int level = ndr_push_get_switch_value(ndr, r);
4359 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4363 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4366 return NDR_ERR_SUCCESS;
4369 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4373 level = ndr_pull_get_switch_value(ndr, r);
4374 if (ndr_flags & NDR_SCALARS) {
4375 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4376 if (_level != level) {
4377 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4379 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4382 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4386 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4389 if (ndr_flags & NDR_BUFFERS) {
4392 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4396 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4399 return NDR_ERR_SUCCESS;
4402 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4405 level = ndr_print_get_switch_value(ndr, r);
4406 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4409 ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4413 ndr_print_bad_level(ndr, name, level);
4417 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4419 if (ndr_flags & NDR_SCALARS) {
4420 NDR_CHECK(ndr_push_align(ndr, 5));
4421 if (r->naming_context == NULL) {
4422 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4424 NDR_CHECK(ndr_push_ref_ptr(ndr));
4425 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4426 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4427 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags));
4429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4430 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
4431 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4433 if (ndr_flags & NDR_BUFFERS) {
4434 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4435 if (r->source_dra_address) {
4436 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4437 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4438 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4439 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));
4442 return NDR_ERR_SUCCESS;
4445 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4447 uint32_t _ptr_naming_context;
4448 TALLOC_CTX *_mem_save_naming_context_0;
4449 uint32_t _ptr_source_dra_address;
4450 TALLOC_CTX *_mem_save_source_dra_address_0;
4451 if (ndr_flags & NDR_SCALARS) {
4452 NDR_CHECK(ndr_pull_align(ndr, 5));
4453 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4454 if (_ptr_naming_context) {
4455 NDR_PULL_ALLOC(ndr, r->naming_context);
4457 r->naming_context = NULL;
4459 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4460 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4461 if (_ptr_source_dra_address) {
4462 NDR_PULL_ALLOC(ndr, r->source_dra_address);
4464 r->source_dra_address = NULL;
4466 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags));
4468 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4469 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
4470 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4472 if (ndr_flags & NDR_BUFFERS) {
4473 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4474 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4475 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4477 if (r->source_dra_address) {
4478 _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4479 NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4480 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4481 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4482 if (ndr_get_array_length(ndr, &r->source_dra_address) > ndr_get_array_size(ndr, &r->source_dra_address)) {
4483 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dra_address), ndr_get_array_length(ndr, &r->source_dra_address));
4485 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t)));
4486 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dra_address, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t), CH_UTF16));
4487 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4490 return NDR_ERR_SUCCESS;
4493 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4495 ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4497 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4499 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4501 ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4502 ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4504 if (r->source_dra_address) {
4505 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4508 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4509 ndr_print_uint32(ndr, "replica_flags", r->replica_flags);
4510 ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4511 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
4515 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4517 if (ndr_flags & NDR_SCALARS) {
4518 int level = ndr_push_get_switch_value(ndr, r);
4519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4520 NDR_CHECK(ndr_push_union_align(ndr, 5));
4523 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4527 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4530 if (ndr_flags & NDR_BUFFERS) {
4531 int level = ndr_push_get_switch_value(ndr, r);
4534 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4538 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4541 return NDR_ERR_SUCCESS;
4544 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4548 level = ndr_pull_get_switch_value(ndr, r);
4549 if (ndr_flags & NDR_SCALARS) {
4550 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4551 if (_level != level) {
4552 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4554 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4557 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4561 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4564 if (ndr_flags & NDR_BUFFERS) {
4567 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4571 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4574 return NDR_ERR_SUCCESS;
4577 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
4580 level = ndr_print_get_switch_value(ndr, r);
4581 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
4584 ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
4588 ndr_print_bad_level(ndr, name, level);
4592 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
4594 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4595 return NDR_ERR_SUCCESS;
4598 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
4601 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4603 return NDR_ERR_SUCCESS;
4606 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
4608 const char *val = NULL;
4611 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4612 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4613 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4614 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4615 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4616 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4617 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4619 ndr_print_enum(ndr, name, "ENUM", val, r);
4622 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
4624 uint32_t cntr_info_array_1;
4625 uint32_t cntr_group_attrs_1;
4626 uint32_t cntr_sids_1;
4627 if (ndr_flags & NDR_SCALARS) {
4628 NDR_CHECK(ndr_push_align(ndr, 5));
4629 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4630 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4632 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4633 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
4634 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4635 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4637 if (ndr_flags & NDR_BUFFERS) {
4638 if (r->info_array) {
4639 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4640 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4641 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4643 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4644 if (r->info_array[cntr_info_array_1]) {
4645 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4649 if (r->group_attrs) {
4650 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4651 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4652 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
4656 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
4657 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4658 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
4660 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4661 if (r->sids[cntr_sids_1]) {
4662 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4667 return NDR_ERR_SUCCESS;
4670 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
4672 uint32_t _ptr_info_array;
4673 uint32_t cntr_info_array_1;
4674 TALLOC_CTX *_mem_save_info_array_0;
4675 TALLOC_CTX *_mem_save_info_array_1;
4676 TALLOC_CTX *_mem_save_info_array_2;
4677 uint32_t _ptr_group_attrs;
4678 uint32_t cntr_group_attrs_1;
4679 TALLOC_CTX *_mem_save_group_attrs_0;
4680 TALLOC_CTX *_mem_save_group_attrs_1;
4682 uint32_t cntr_sids_1;
4683 TALLOC_CTX *_mem_save_sids_0;
4684 TALLOC_CTX *_mem_save_sids_1;
4685 TALLOC_CTX *_mem_save_sids_2;
4686 if (ndr_flags & NDR_SCALARS) {
4687 NDR_CHECK(ndr_pull_align(ndr, 5));
4688 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4689 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
4690 if (r->num_memberships > 10000) {
4691 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4693 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
4694 if (r->num_sids > 10000) {
4695 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4697 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4698 if (_ptr_info_array) {
4699 NDR_PULL_ALLOC(ndr, r->info_array);
4701 r->info_array = NULL;
4703 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
4704 if (_ptr_group_attrs) {
4705 NDR_PULL_ALLOC(ndr, r->group_attrs);
4707 r->group_attrs = NULL;
4709 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4711 NDR_PULL_ALLOC(ndr, r->sids);
4715 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4717 if (ndr_flags & NDR_BUFFERS) {
4718 if (r->info_array) {
4719 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4720 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4721 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4722 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4723 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4724 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4725 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4726 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4727 if (_ptr_info_array) {
4728 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4730 r->info_array[cntr_info_array_1] = NULL;
4733 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4734 if (r->info_array[cntr_info_array_1]) {
4735 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4736 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4737 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4738 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4741 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4742 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4744 if (r->group_attrs) {
4745 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
4746 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4747 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
4748 NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs));
4749 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
4750 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4751 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4752 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
4754 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
4755 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
4758 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4759 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4760 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4761 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
4762 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4763 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4764 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4765 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4767 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
4769 r->sids[cntr_sids_1] = NULL;
4772 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4773 if (r->sids[cntr_sids_1]) {
4774 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
4775 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
4776 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4777 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
4780 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4783 if (r->info_array) {
4784 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
4786 if (r->group_attrs) {
4787 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
4790 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
4793 return NDR_ERR_SUCCESS;
4796 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
4798 uint32_t cntr_info_array_1;
4799 uint32_t cntr_group_attrs_1;
4800 uint32_t cntr_sids_1;
4801 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
4803 ndr_print_NTSTATUS(ndr, "status", r->status);
4804 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
4805 ndr_print_uint32(ndr, "num_sids", r->num_sids);
4806 ndr_print_ptr(ndr, "info_array", r->info_array);
4808 if (r->info_array) {
4809 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
4811 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
4813 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4814 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4816 if (r->info_array[cntr_info_array_1]) {
4817 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4826 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
4828 if (r->group_attrs) {
4829 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
4831 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
4833 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
4834 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
4841 ndr_print_ptr(ndr, "sids", r->sids);
4844 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
4846 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
4848 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
4849 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
4851 if (r->sids[cntr_sids_1]) {
4852 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
4864 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
4866 if (ndr_flags & NDR_SCALARS) {
4867 int level = ndr_push_get_switch_value(ndr, r);
4868 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4869 NDR_CHECK(ndr_push_union_align(ndr, 5));
4872 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4876 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4879 if (ndr_flags & NDR_BUFFERS) {
4880 int level = ndr_push_get_switch_value(ndr, r);
4883 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4887 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4890 return NDR_ERR_SUCCESS;
4893 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
4897 level = ndr_pull_get_switch_value(ndr, r);
4898 if (ndr_flags & NDR_SCALARS) {
4899 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4900 if (_level != level) {
4901 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4903 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4906 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4910 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4913 if (ndr_flags & NDR_BUFFERS) {
4916 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4920 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4923 return NDR_ERR_SUCCESS;
4926 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
4929 level = ndr_print_get_switch_value(ndr, r);
4930 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
4933 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
4937 ndr_print_bad_level(ndr, name, level);
4941 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
4943 uint32_t cntr_info_array_1;
4944 if (ndr_flags & NDR_SCALARS) {
4945 NDR_CHECK(ndr_push_align(ndr, 5));
4946 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4947 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4948 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
4949 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
4950 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
4951 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4953 if (ndr_flags & NDR_BUFFERS) {
4954 if (r->info_array) {
4955 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4956 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4957 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4959 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4960 if (r->info_array[cntr_info_array_1]) {
4961 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4966 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4969 return NDR_ERR_SUCCESS;
4972 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
4974 uint32_t _ptr_info_array;
4975 uint32_t cntr_info_array_1;
4976 TALLOC_CTX *_mem_save_info_array_0;
4977 TALLOC_CTX *_mem_save_info_array_1;
4978 TALLOC_CTX *_mem_save_info_array_2;
4979 uint32_t _ptr_domain;
4980 TALLOC_CTX *_mem_save_domain_0;
4981 if (ndr_flags & NDR_SCALARS) {
4982 NDR_CHECK(ndr_pull_align(ndr, 5));
4983 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4984 if (r->count < 1 || r->count > 10000) {
4985 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4987 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4988 if (_ptr_info_array) {
4989 NDR_PULL_ALLOC(ndr, r->info_array);
4991 r->info_array = NULL;
4993 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
4994 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
4995 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4997 NDR_PULL_ALLOC(ndr, r->domain);
5001 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5003 if (ndr_flags & NDR_BUFFERS) {
5004 if (r->info_array) {
5005 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5006 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5007 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5008 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
5009 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5010 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5011 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5012 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5013 if (_ptr_info_array) {
5014 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5016 r->info_array[cntr_info_array_1] = NULL;
5019 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5020 if (r->info_array[cntr_info_array_1]) {
5021 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5022 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5023 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5024 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5027 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5031 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5032 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5033 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5034 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5036 if (r->info_array) {
5037 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
5040 return NDR_ERR_SUCCESS;
5043 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
5045 uint32_t cntr_info_array_1;
5046 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
5048 ndr_print_uint32(ndr, "count", r->count);
5049 ndr_print_ptr(ndr, "info_array", r->info_array);
5051 if (r->info_array) {
5052 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
5054 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
5056 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
5057 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5059 if (r->info_array[cntr_info_array_1]) {
5060 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5069 ndr_print_uint32(ndr, "flags", r->flags);
5070 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
5071 ndr_print_ptr(ndr, "domain", r->domain);
5074 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
5080 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
5082 if (ndr_flags & NDR_SCALARS) {
5083 int level = ndr_push_get_switch_value(ndr, r);
5084 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5085 NDR_CHECK(ndr_push_union_align(ndr, 5));
5088 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5092 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5095 if (ndr_flags & NDR_BUFFERS) {
5096 int level = ndr_push_get_switch_value(ndr, r);
5099 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5103 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5106 return NDR_ERR_SUCCESS;
5109 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
5113 level = ndr_pull_get_switch_value(ndr, r);
5114 if (ndr_flags & NDR_SCALARS) {
5115 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5116 if (_level != level) {
5117 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5119 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5122 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5126 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5129 if (ndr_flags & NDR_BUFFERS) {
5132 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5136 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5139 return NDR_ERR_SUCCESS;
5142 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
5145 level = ndr_print_get_switch_value(ndr, r);
5146 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
5149 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
5153 ndr_print_bad_level(ndr, name, level);
5157 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5159 if (ndr_flags & NDR_SCALARS) {
5160 NDR_CHECK(ndr_push_align(ndr, 5));
5161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5164 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5165 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5167 if (ndr_flags & NDR_BUFFERS) {
5169 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
5170 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5173 return NDR_ERR_SUCCESS;
5176 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5179 TALLOC_CTX *_mem_save_data_0;
5180 if (ndr_flags & NDR_SCALARS) {
5181 NDR_CHECK(ndr_pull_align(ndr, 5));
5182 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5183 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5184 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5185 if (r->length > 0x00A00000) {
5186 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5188 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5190 NDR_PULL_ALLOC(ndr, r->data);
5194 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5196 if (ndr_flags & NDR_BUFFERS) {
5198 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5199 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5200 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5201 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
5202 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
5203 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5206 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5209 return NDR_ERR_SUCCESS;
5212 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5214 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5216 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5217 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5218 ndr_print_uint32(ndr, "length", r->length);
5219 ndr_print_ptr(ndr, "data", r->data);
5222 ndr_print_array_uint8(ndr, "data", r->data, r->length);
5228 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5230 if (ndr_flags & NDR_SCALARS) {
5231 int level = ndr_push_get_switch_value(ndr, r);
5232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5233 NDR_CHECK(ndr_push_union_align(ndr, 5));
5236 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5240 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5243 if (ndr_flags & NDR_BUFFERS) {
5244 int level = ndr_push_get_switch_value(ndr, r);
5247 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5251 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5254 return NDR_ERR_SUCCESS;
5257 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5261 level = ndr_pull_get_switch_value(ndr, r);
5262 if (ndr_flags & NDR_SCALARS) {
5263 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5264 if (_level != level) {
5265 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5267 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5270 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5274 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5277 if (ndr_flags & NDR_BUFFERS) {
5280 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5284 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5287 return NDR_ERR_SUCCESS;
5290 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5293 level = ndr_print_get_switch_value(ndr, r);
5294 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5297 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5301 ndr_print_bad_level(ndr, name, level);
5305 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5307 if (ndr_flags & NDR_SCALARS) {
5308 NDR_CHECK(ndr_push_align(ndr, 8));
5309 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
5310 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
5311 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
5312 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time2));
5313 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3));
5314 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time4));
5315 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5));
5316 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time6));
5317 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5318 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data1));
5319 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data2));
5320 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5322 if (ndr_flags & NDR_BUFFERS) {
5324 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length1));
5325 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data1, r->length1));
5328 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length2));
5329 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data2, r->length2));
5332 return NDR_ERR_SUCCESS;
5335 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5337 uint32_t _ptr_data1;
5338 TALLOC_CTX *_mem_save_data1_0;
5339 uint32_t _ptr_data2;
5340 TALLOC_CTX *_mem_save_data2_0;
5341 if (ndr_flags & NDR_SCALARS) {
5342 NDR_CHECK(ndr_pull_align(ndr, 8));
5343 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length1));
5344 if (r->length1 > 0x00A00000) {
5345 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5347 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length2));
5348 if (r->length2 > 0x00A00000) {
5349 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5351 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
5352 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time2));
5353 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3));
5354 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time4));
5355 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5));
5356 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time6));
5357 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5358 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data1));
5360 NDR_PULL_ALLOC(ndr, r->data1);
5364 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data2));
5366 NDR_PULL_ALLOC(ndr, r->data2);
5370 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5372 if (ndr_flags & NDR_BUFFERS) {
5374 _mem_save_data1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5375 NDR_PULL_SET_MEM_CTX(ndr, r->data1, 0);
5376 NDR_CHECK(ndr_pull_array_size(ndr, &r->data1));
5377 NDR_PULL_ALLOC_N(ndr, r->data1, ndr_get_array_size(ndr, &r->data1));
5378 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data1, ndr_get_array_size(ndr, &r->data1)));
5379 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data1_0, 0);
5382 _mem_save_data2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5383 NDR_PULL_SET_MEM_CTX(ndr, r->data2, 0);
5384 NDR_CHECK(ndr_pull_array_size(ndr, &r->data2));
5385 NDR_PULL_ALLOC_N(ndr, r->data2, ndr_get_array_size(ndr, &r->data2));
5386 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data2, ndr_get_array_size(ndr, &r->data2)));
5387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data2_0, 0);
5390 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data1, r->length1));
5393 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data2, r->length2));
5396 return NDR_ERR_SUCCESS;
5399 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5401 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5403 ndr_print_uint32(ndr, "length1", r->length1);
5404 ndr_print_uint32(ndr, "length2", r->length2);
5405 ndr_print_hyper(ndr, "unknown1", r->unknown1);
5406 ndr_print_NTTIME(ndr, "time2", r->time2);
5407 ndr_print_hyper(ndr, "unknown3", r->unknown3);
5408 ndr_print_NTTIME(ndr, "time4", r->time4);
5409 ndr_print_hyper(ndr, "unknown5", r->unknown5);
5410 ndr_print_NTTIME(ndr, "time6", r->time6);
5411 ndr_print_NTSTATUS(ndr, "status", r->status);
5412 ndr_print_ptr(ndr, "data1", r->data1);
5415 ndr_print_array_uint8(ndr, "data1", r->data1, r->length1);
5418 ndr_print_ptr(ndr, "data2", r->data2);
5421 ndr_print_array_uint8(ndr, "data2", r->data2, r->length2);
5427 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5429 if (ndr_flags & NDR_SCALARS) {
5430 int level = ndr_push_get_switch_value(ndr, r);
5431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5432 NDR_CHECK(ndr_push_union_align(ndr, 8));
5435 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5439 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5442 if (ndr_flags & NDR_BUFFERS) {
5443 int level = ndr_push_get_switch_value(ndr, r);
5446 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5450 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5453 return NDR_ERR_SUCCESS;
5456 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5460 level = ndr_pull_get_switch_value(ndr, r);
5461 if (ndr_flags & NDR_SCALARS) {
5462 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5463 if (_level != level) {
5464 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5466 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5469 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5473 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5476 if (ndr_flags & NDR_BUFFERS) {
5479 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5483 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5486 return NDR_ERR_SUCCESS;
5489 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5492 level = ndr_print_get_switch_value(ndr, r);
5493 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5496 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5500 ndr_print_bad_level(ndr, name, level);
5504 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5506 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5507 return NDR_ERR_SUCCESS;
5510 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5513 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5515 return NDR_ERR_SUCCESS;
5518 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5520 const char *val = NULL;
5523 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5524 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5525 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5526 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5527 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5528 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5529 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5530 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5532 ndr_print_enum(ndr, name, "ENUM", val, r);
5535 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5537 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5538 return NDR_ERR_SUCCESS;
5541 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5544 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5546 return NDR_ERR_SUCCESS;
5549 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5551 const char *val = NULL;
5554 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5555 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5556 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5557 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5558 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5560 ndr_print_enum(ndr, name, "ENUM", val, r);
5563 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5565 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5566 return NDR_ERR_SUCCESS;
5569 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5572 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5574 return NDR_ERR_SUCCESS;
5577 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5579 const char *val = NULL;
5582 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5583 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5584 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5585 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5586 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5587 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5588 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5589 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5590 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5591 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5592 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5594 ndr_print_enum(ndr, name, "ENUM", val, r);
5597 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5599 if (ndr_flags & NDR_SCALARS) {
5600 NDR_CHECK(ndr_push_align(ndr, 5));
5601 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5602 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5604 if (ndr_flags & NDR_BUFFERS) {
5606 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5607 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5608 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5609 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5612 return NDR_ERR_SUCCESS;
5615 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5618 TALLOC_CTX *_mem_save_str_0;
5619 if (ndr_flags & NDR_SCALARS) {
5620 NDR_CHECK(ndr_pull_align(ndr, 5));
5621 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5623 NDR_PULL_ALLOC(ndr, r->str);
5627 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5629 if (ndr_flags & NDR_BUFFERS) {
5631 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5632 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5633 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5634 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5635 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
5636 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->str), ndr_get_array_length(ndr, &r->str));
5638 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
5639 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
5640 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5643 return NDR_ERR_SUCCESS;
5646 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5648 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5650 ndr_print_ptr(ndr, "str", r->str);
5653 ndr_print_string(ndr, "str", r->str);
5659 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5661 uint32_t cntr_names_1;
5662 if (ndr_flags & NDR_SCALARS) {
5663 NDR_CHECK(ndr_push_align(ndr, 5));
5664 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5665 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5666 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5667 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5668 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5669 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5670 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5671 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5673 if (ndr_flags & NDR_BUFFERS) {
5675 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5676 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5677 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5679 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5680 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5684 return NDR_ERR_SUCCESS;
5687 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5689 uint32_t _ptr_names;
5690 uint32_t cntr_names_1;
5691 TALLOC_CTX *_mem_save_names_0;
5692 TALLOC_CTX *_mem_save_names_1;
5693 if (ndr_flags & NDR_SCALARS) {
5694 NDR_CHECK(ndr_pull_align(ndr, 5));
5695 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5696 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5697 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5698 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5699 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5700 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5701 if (r->count < 1 || r->count > 10000) {
5702 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5704 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5706 NDR_PULL_ALLOC(ndr, r->names);
5710 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5712 if (ndr_flags & NDR_BUFFERS) {
5714 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5715 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5716 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
5717 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
5718 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5719 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5720 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5721 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5723 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5724 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5726 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
5727 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
5730 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
5733 return NDR_ERR_SUCCESS;
5736 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
5738 uint32_t cntr_names_1;
5739 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
5741 ndr_print_uint32(ndr, "codepage", r->codepage);
5742 ndr_print_uint32(ndr, "language", r->language);
5743 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
5744 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
5745 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
5746 ndr_print_uint32(ndr, "count", r->count);
5747 ndr_print_ptr(ndr, "names", r->names);
5750 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
5752 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
5754 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
5755 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
5765 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
5767 if (ndr_flags & NDR_SCALARS) {
5768 int level = ndr_push_get_switch_value(ndr, r);
5769 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5770 NDR_CHECK(ndr_push_union_align(ndr, 5));
5773 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5777 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5780 if (ndr_flags & NDR_BUFFERS) {
5781 int level = ndr_push_get_switch_value(ndr, r);
5784 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5788 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5791 return NDR_ERR_SUCCESS;
5794 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
5798 level = ndr_pull_get_switch_value(ndr, r);
5799 if (ndr_flags & NDR_SCALARS) {
5800 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5801 if (_level != level) {
5802 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5804 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5807 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5811 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5814 if (ndr_flags & NDR_BUFFERS) {
5817 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5821 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5824 return NDR_ERR_SUCCESS;
5827 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
5830 level = ndr_print_get_switch_value(ndr, r);
5831 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
5834 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
5838 ndr_print_bad_level(ndr, name, level);
5842 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
5844 if (ndr_flags & NDR_SCALARS) {
5845 NDR_CHECK(ndr_push_align(ndr, 5));
5846 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
5847 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
5848 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
5849 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5851 if (ndr_flags & NDR_BUFFERS) {
5852 if (r->dns_domain_name) {
5853 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5854 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5855 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5856 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));
5858 if (r->result_name) {
5859 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5860 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5861 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5862 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5865 return NDR_ERR_SUCCESS;
5868 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
5870 uint32_t _ptr_dns_domain_name;
5871 TALLOC_CTX *_mem_save_dns_domain_name_0;
5872 uint32_t _ptr_result_name;
5873 TALLOC_CTX *_mem_save_result_name_0;
5874 if (ndr_flags & NDR_SCALARS) {
5875 NDR_CHECK(ndr_pull_align(ndr, 5));
5876 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
5877 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
5878 if (_ptr_dns_domain_name) {
5879 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
5881 r->dns_domain_name = NULL;
5883 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
5884 if (_ptr_result_name) {
5885 NDR_PULL_ALLOC(ndr, r->result_name);
5887 r->result_name = NULL;
5889 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5891 if (ndr_flags & NDR_BUFFERS) {
5892 if (r->dns_domain_name) {
5893 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5894 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
5895 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
5896 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
5897 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
5898 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_domain_name), ndr_get_array_length(ndr, &r->dns_domain_name));
5900 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
5901 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain_name, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t), CH_UTF16));
5902 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
5904 if (r->result_name) {
5905 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5906 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
5907 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
5908 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
5909 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
5910 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->result_name), ndr_get_array_length(ndr, &r->result_name));
5912 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
5913 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
5914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
5917 return NDR_ERR_SUCCESS;
5920 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
5922 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
5924 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
5925 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
5927 if (r->dns_domain_name) {
5928 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
5931 ndr_print_ptr(ndr, "result_name", r->result_name);
5933 if (r->result_name) {
5934 ndr_print_string(ndr, "result_name", r->result_name);
5940 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
5942 uint32_t cntr_array_1;
5943 if (ndr_flags & NDR_SCALARS) {
5944 NDR_CHECK(ndr_push_align(ndr, 5));
5945 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5946 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
5947 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5949 if (ndr_flags & NDR_BUFFERS) {
5951 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5952 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5953 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
5955 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5956 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
5960 return NDR_ERR_SUCCESS;
5963 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
5965 uint32_t _ptr_array;
5966 uint32_t cntr_array_1;
5967 TALLOC_CTX *_mem_save_array_0;
5968 TALLOC_CTX *_mem_save_array_1;
5969 if (ndr_flags & NDR_SCALARS) {
5970 NDR_CHECK(ndr_pull_align(ndr, 5));
5971 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5972 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
5974 NDR_PULL_ALLOC(ndr, r->array);
5978 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5980 if (ndr_flags & NDR_BUFFERS) {
5982 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5983 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
5984 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
5985 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
5986 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5987 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
5988 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5989 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
5991 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5992 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
5994 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
5995 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
5998 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6001 return NDR_ERR_SUCCESS;
6004 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6006 uint32_t cntr_array_1;
6007 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6009 ndr_print_uint32(ndr, "count", r->count);
6010 ndr_print_ptr(ndr, "array", r->array);
6013 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6015 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6017 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6018 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6028 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6030 if (ndr_flags & NDR_SCALARS) {
6031 int level = ndr_push_get_switch_value(ndr, r);
6032 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6033 NDR_CHECK(ndr_push_union_align(ndr, 5));
6036 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6040 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6043 if (ndr_flags & NDR_BUFFERS) {
6044 int level = ndr_push_get_switch_value(ndr, r);
6048 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6053 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6056 return NDR_ERR_SUCCESS;
6059 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6063 TALLOC_CTX *_mem_save_ctr1_0;
6064 level = ndr_pull_get_switch_value(ndr, r);
6065 if (ndr_flags & NDR_SCALARS) {
6066 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6067 if (_level != level) {
6068 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6070 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6074 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6076 NDR_PULL_ALLOC(ndr, r->ctr1);
6083 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6086 if (ndr_flags & NDR_BUFFERS) {
6090 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6091 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6092 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6093 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6098 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6101 return NDR_ERR_SUCCESS;
6104 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6107 level = ndr_print_get_switch_value(ndr, r);
6108 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6111 ndr_print_ptr(ndr, "ctr1", r->ctr1);
6114 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6120 ndr_print_bad_level(ndr, name, level);
6124 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6126 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6127 return NDR_ERR_SUCCESS;
6130 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6133 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6135 return NDR_ERR_SUCCESS;
6138 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6140 const char *val = NULL;
6143 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6144 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6145 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6147 ndr_print_enum(ndr, name, "ENUM", val, r);
6150 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6152 uint32_t cntr_spn_names_1;
6153 if (ndr_flags & NDR_SCALARS) {
6154 NDR_CHECK(ndr_push_align(ndr, 5));
6155 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6156 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6157 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6158 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6159 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6160 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6162 if (ndr_flags & NDR_BUFFERS) {
6164 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6165 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6166 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6167 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6170 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6171 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6172 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6174 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6175 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6179 return NDR_ERR_SUCCESS;
6182 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6184 uint32_t _ptr_object_dn;
6185 TALLOC_CTX *_mem_save_object_dn_0;
6186 uint32_t _ptr_spn_names;
6187 uint32_t cntr_spn_names_1;
6188 TALLOC_CTX *_mem_save_spn_names_0;
6189 TALLOC_CTX *_mem_save_spn_names_1;
6190 if (ndr_flags & NDR_SCALARS) {
6191 NDR_CHECK(ndr_pull_align(ndr, 5));
6192 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6193 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6194 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6195 if (_ptr_object_dn) {
6196 NDR_PULL_ALLOC(ndr, r->object_dn);
6198 r->object_dn = NULL;
6200 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6201 if (r->count > 10000) {
6202 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6204 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6205 if (_ptr_spn_names) {
6206 NDR_PULL_ALLOC(ndr, r->spn_names);
6208 r->spn_names = NULL;
6210 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6212 if (ndr_flags & NDR_BUFFERS) {
6214 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6215 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6216 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6217 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6218 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
6219 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
6221 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
6222 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
6223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6226 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6227 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6228 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6229 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
6230 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6231 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6232 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6233 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6235 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6236 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6238 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6239 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6242 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6245 return NDR_ERR_SUCCESS;
6248 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6250 uint32_t cntr_spn_names_1;
6251 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6253 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6254 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6255 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6258 ndr_print_string(ndr, "object_dn", r->object_dn);
6261 ndr_print_uint32(ndr, "count", r->count);
6262 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6265 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6267 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6269 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
6270 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6280 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6282 if (ndr_flags & NDR_SCALARS) {
6283 int level = ndr_push_get_switch_value(ndr, r);
6284 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6285 NDR_CHECK(ndr_push_union_align(ndr, 5));
6288 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6292 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6295 if (ndr_flags & NDR_BUFFERS) {
6296 int level = ndr_push_get_switch_value(ndr, r);
6299 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6303 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6306 return NDR_ERR_SUCCESS;
6309 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6313 level = ndr_pull_get_switch_value(ndr, r);
6314 if (ndr_flags & NDR_SCALARS) {
6315 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6316 if (_level != level) {
6317 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6319 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6322 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6326 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6329 if (ndr_flags & NDR_BUFFERS) {
6332 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6336 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6339 return NDR_ERR_SUCCESS;
6342 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6345 level = ndr_print_get_switch_value(ndr, r);
6346 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6349 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6353 ndr_print_bad_level(ndr, name, level);
6357 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6359 if (ndr_flags & NDR_SCALARS) {
6360 NDR_CHECK(ndr_push_align(ndr, 4));
6361 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6362 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6364 if (ndr_flags & NDR_BUFFERS) {
6366 return NDR_ERR_SUCCESS;
6369 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6371 if (ndr_flags & NDR_SCALARS) {
6372 NDR_CHECK(ndr_pull_align(ndr, 4));
6373 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6374 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6376 if (ndr_flags & NDR_BUFFERS) {
6378 return NDR_ERR_SUCCESS;
6381 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6383 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6385 ndr_print_WERROR(ndr, "status", r->status);
6389 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6391 if (ndr_flags & NDR_SCALARS) {
6392 int level = ndr_push_get_switch_value(ndr, r);
6393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6394 NDR_CHECK(ndr_push_union_align(ndr, 4));
6397 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6401 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6404 if (ndr_flags & NDR_BUFFERS) {
6405 int level = ndr_push_get_switch_value(ndr, r);
6411 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6414 return NDR_ERR_SUCCESS;
6417 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6421 level = ndr_pull_get_switch_value(ndr, r);
6422 if (ndr_flags & NDR_SCALARS) {
6423 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6424 if (_level != level) {
6425 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6427 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6430 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6434 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6437 if (ndr_flags & NDR_BUFFERS) {
6443 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6446 return NDR_ERR_SUCCESS;
6449 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6452 level = ndr_print_get_switch_value(ndr, r);
6453 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6456 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6460 ndr_print_bad_level(ndr, name, level);
6464 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6466 if (ndr_flags & NDR_SCALARS) {
6467 NDR_CHECK(ndr_push_align(ndr, 5));
6468 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6469 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6470 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6471 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6473 if (ndr_flags & NDR_BUFFERS) {
6475 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6476 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6477 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6478 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6481 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6482 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6483 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6484 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6487 return NDR_ERR_SUCCESS;
6490 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6492 uint32_t _ptr_server_dn;
6493 TALLOC_CTX *_mem_save_server_dn_0;
6494 uint32_t _ptr_domain_dn;
6495 TALLOC_CTX *_mem_save_domain_dn_0;
6496 if (ndr_flags & NDR_SCALARS) {
6497 NDR_CHECK(ndr_pull_align(ndr, 5));
6498 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6499 if (_ptr_server_dn) {
6500 NDR_PULL_ALLOC(ndr, r->server_dn);
6502 r->server_dn = NULL;
6504 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6505 if (_ptr_domain_dn) {
6506 NDR_PULL_ALLOC(ndr, r->domain_dn);
6508 r->domain_dn = NULL;
6510 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6511 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6513 if (ndr_flags & NDR_BUFFERS) {
6515 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6516 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6517 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6518 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6519 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6520 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
6522 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6523 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6524 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6527 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6528 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6529 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6530 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6531 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
6532 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_dn), ndr_get_array_length(ndr, &r->domain_dn));
6534 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
6535 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
6536 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6539 return NDR_ERR_SUCCESS;
6542 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6544 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6546 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6549 ndr_print_string(ndr, "server_dn", r->server_dn);
6552 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6555 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6558 ndr_print_uint32(ndr, "commit", r->commit);
6562 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6564 if (ndr_flags & NDR_SCALARS) {
6565 int level = ndr_push_get_switch_value(ndr, r);
6566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6567 NDR_CHECK(ndr_push_union_align(ndr, 5));
6570 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6574 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6577 if (ndr_flags & NDR_BUFFERS) {
6578 int level = ndr_push_get_switch_value(ndr, r);
6581 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6585 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6588 return NDR_ERR_SUCCESS;
6591 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6595 level = ndr_pull_get_switch_value(ndr, r);
6596 if (ndr_flags & NDR_SCALARS) {
6597 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6598 if (_level != level) {
6599 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6601 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6604 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6608 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6611 if (ndr_flags & NDR_BUFFERS) {
6614 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6618 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6621 return NDR_ERR_SUCCESS;
6624 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6627 level = ndr_print_get_switch_value(ndr, r);
6628 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6631 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6635 ndr_print_bad_level(ndr, name, level);
6639 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6641 if (ndr_flags & NDR_SCALARS) {
6642 NDR_CHECK(ndr_push_align(ndr, 4));
6643 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6644 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6646 if (ndr_flags & NDR_BUFFERS) {
6648 return NDR_ERR_SUCCESS;
6651 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6653 if (ndr_flags & NDR_SCALARS) {
6654 NDR_CHECK(ndr_pull_align(ndr, 4));
6655 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6656 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6658 if (ndr_flags & NDR_BUFFERS) {
6660 return NDR_ERR_SUCCESS;
6663 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6665 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
6667 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
6671 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
6673 if (ndr_flags & NDR_SCALARS) {
6674 int level = ndr_push_get_switch_value(ndr, r);
6675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6676 NDR_CHECK(ndr_push_union_align(ndr, 4));
6679 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6683 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6686 if (ndr_flags & NDR_BUFFERS) {
6687 int level = ndr_push_get_switch_value(ndr, r);
6693 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6696 return NDR_ERR_SUCCESS;
6699 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
6703 level = ndr_pull_get_switch_value(ndr, r);
6704 if (ndr_flags & NDR_SCALARS) {
6705 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6706 if (_level != level) {
6707 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6709 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6712 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6716 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6719 if (ndr_flags & NDR_BUFFERS) {
6725 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6728 return NDR_ERR_SUCCESS;
6731 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
6734 level = ndr_print_get_switch_value(ndr, r);
6735 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
6738 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
6742 ndr_print_bad_level(ndr, name, level);
6746 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
6748 if (ndr_flags & NDR_SCALARS) {
6749 NDR_CHECK(ndr_push_align(ndr, 5));
6750 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6751 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
6752 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6754 if (ndr_flags & NDR_BUFFERS) {
6755 if (r->domain_name) {
6756 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6757 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6758 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6759 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6762 return NDR_ERR_SUCCESS;
6765 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
6767 uint32_t _ptr_domain_name;
6768 TALLOC_CTX *_mem_save_domain_name_0;
6769 if (ndr_flags & NDR_SCALARS) {
6770 NDR_CHECK(ndr_pull_align(ndr, 5));
6771 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6772 if (_ptr_domain_name) {
6773 NDR_PULL_ALLOC(ndr, r->domain_name);
6775 r->domain_name = NULL;
6777 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
6778 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6780 if (ndr_flags & NDR_BUFFERS) {
6781 if (r->domain_name) {
6782 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6783 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6784 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6785 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6786 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6787 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));
6789 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6790 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6791 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6794 return NDR_ERR_SUCCESS;
6797 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
6799 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
6801 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6803 if (r->domain_name) {
6804 ndr_print_string(ndr, "domain_name", r->domain_name);
6807 ndr_print_int32(ndr, "level", r->level);
6811 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
6813 if (ndr_flags & NDR_SCALARS) {
6814 int level = ndr_push_get_switch_value(ndr, r);
6815 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6816 NDR_CHECK(ndr_push_union_align(ndr, 5));
6819 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6823 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6826 if (ndr_flags & NDR_BUFFERS) {
6827 int level = ndr_push_get_switch_value(ndr, r);
6830 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6834 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6837 return NDR_ERR_SUCCESS;
6840 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
6844 level = ndr_pull_get_switch_value(ndr, r);
6845 if (ndr_flags & NDR_SCALARS) {
6846 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6847 if (_level != level) {
6848 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6850 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6853 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6857 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6860 if (ndr_flags & NDR_BUFFERS) {
6863 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6867 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6870 return NDR_ERR_SUCCESS;
6873 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
6876 level = ndr_print_get_switch_value(ndr, r);
6877 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
6880 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
6884 ndr_print_bad_level(ndr, name, level);
6888 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
6890 if (ndr_flags & NDR_SCALARS) {
6891 NDR_CHECK(ndr_push_align(ndr, 5));
6892 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6893 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6894 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6895 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6896 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6897 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6898 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6899 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6901 if (ndr_flags & NDR_BUFFERS) {
6902 if (r->netbios_name) {
6903 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6904 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6905 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6906 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6909 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6910 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6911 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6912 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6915 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6916 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6917 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6918 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6920 if (r->computer_dn) {
6921 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6922 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6923 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6924 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6927 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6928 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6929 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6930 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6933 return NDR_ERR_SUCCESS;
6936 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
6938 uint32_t _ptr_netbios_name;
6939 TALLOC_CTX *_mem_save_netbios_name_0;
6940 uint32_t _ptr_dns_name;
6941 TALLOC_CTX *_mem_save_dns_name_0;
6942 uint32_t _ptr_site_name;
6943 TALLOC_CTX *_mem_save_site_name_0;
6944 uint32_t _ptr_computer_dn;
6945 TALLOC_CTX *_mem_save_computer_dn_0;
6946 uint32_t _ptr_server_dn;
6947 TALLOC_CTX *_mem_save_server_dn_0;
6948 if (ndr_flags & NDR_SCALARS) {
6949 NDR_CHECK(ndr_pull_align(ndr, 5));
6950 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
6951 if (_ptr_netbios_name) {
6952 NDR_PULL_ALLOC(ndr, r->netbios_name);
6954 r->netbios_name = NULL;
6956 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
6957 if (_ptr_dns_name) {
6958 NDR_PULL_ALLOC(ndr, r->dns_name);
6962 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
6963 if (_ptr_site_name) {
6964 NDR_PULL_ALLOC(ndr, r->site_name);
6966 r->site_name = NULL;
6968 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
6969 if (_ptr_computer_dn) {
6970 NDR_PULL_ALLOC(ndr, r->computer_dn);
6972 r->computer_dn = NULL;
6974 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6975 if (_ptr_server_dn) {
6976 NDR_PULL_ALLOC(ndr, r->server_dn);
6978 r->server_dn = NULL;
6980 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
6981 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
6982 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6984 if (ndr_flags & NDR_BUFFERS) {
6985 if (r->netbios_name) {
6986 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6987 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
6988 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
6989 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
6990 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
6991 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
6993 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
6994 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
6995 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
6998 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6999 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7000 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7001 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7002 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7003 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7005 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7006 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7007 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7010 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7011 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7012 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7013 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7014 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7015 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name));
7017 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7018 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7019 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7021 if (r->computer_dn) {
7022 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7023 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7024 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7025 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7026 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7027 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn));
7029 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7030 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7031 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7034 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7035 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7036 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7037 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7038 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7039 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
7041 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7042 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7043 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7046 return NDR_ERR_SUCCESS;
7049 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7051 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7053 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7055 if (r->netbios_name) {
7056 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7059 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7062 ndr_print_string(ndr, "dns_name", r->dns_name);
7065 ndr_print_ptr(ndr, "site_name", r->site_name);
7068 ndr_print_string(ndr, "site_name", r->site_name);
7071 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7073 if (r->computer_dn) {
7074 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7077 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7080 ndr_print_string(ndr, "server_dn", r->server_dn);
7083 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7084 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7088 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7090 uint32_t cntr_array_1;
7091 if (ndr_flags & NDR_SCALARS) {
7092 NDR_CHECK(ndr_push_align(ndr, 5));
7093 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7094 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7095 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7097 if (ndr_flags & NDR_BUFFERS) {
7099 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7100 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7101 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7103 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7104 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7108 return NDR_ERR_SUCCESS;
7111 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7113 uint32_t _ptr_array;
7114 uint32_t cntr_array_1;
7115 TALLOC_CTX *_mem_save_array_0;
7116 TALLOC_CTX *_mem_save_array_1;
7117 if (ndr_flags & NDR_SCALARS) {
7118 NDR_CHECK(ndr_pull_align(ndr, 5));
7119 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7120 if (r->count > 10000) {
7121 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7123 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7125 NDR_PULL_ALLOC(ndr, r->array);
7129 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7131 if (ndr_flags & NDR_BUFFERS) {
7133 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7134 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7135 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7136 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7137 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7138 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7139 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7140 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7142 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7143 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7145 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7146 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7149 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7152 return NDR_ERR_SUCCESS;
7155 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7157 uint32_t cntr_array_1;
7158 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7160 ndr_print_uint32(ndr, "count", r->count);
7161 ndr_print_ptr(ndr, "array", r->array);
7164 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7166 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7168 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7169 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7179 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7181 if (ndr_flags & NDR_SCALARS) {
7182 NDR_CHECK(ndr_push_align(ndr, 5));
7183 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7184 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7185 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7186 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7187 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7188 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7189 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7191 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7192 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7193 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7194 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7195 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7196 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7197 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7199 if (ndr_flags & NDR_BUFFERS) {
7200 if (r->netbios_name) {
7201 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7202 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7203 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7204 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7207 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7208 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7209 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7210 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7213 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7214 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7215 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7216 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7219 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7220 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7221 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7222 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7224 if (r->computer_dn) {
7225 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7226 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7227 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7228 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7231 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7232 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7233 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7234 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7237 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7238 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7239 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7240 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7243 return NDR_ERR_SUCCESS;
7246 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7248 uint32_t _ptr_netbios_name;
7249 TALLOC_CTX *_mem_save_netbios_name_0;
7250 uint32_t _ptr_dns_name;
7251 TALLOC_CTX *_mem_save_dns_name_0;
7252 uint32_t _ptr_site_name;
7253 TALLOC_CTX *_mem_save_site_name_0;
7254 uint32_t _ptr_site_dn;
7255 TALLOC_CTX *_mem_save_site_dn_0;
7256 uint32_t _ptr_computer_dn;
7257 TALLOC_CTX *_mem_save_computer_dn_0;
7258 uint32_t _ptr_server_dn;
7259 TALLOC_CTX *_mem_save_server_dn_0;
7260 uint32_t _ptr_ntds_dn;
7261 TALLOC_CTX *_mem_save_ntds_dn_0;
7262 if (ndr_flags & NDR_SCALARS) {
7263 NDR_CHECK(ndr_pull_align(ndr, 5));
7264 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7265 if (_ptr_netbios_name) {
7266 NDR_PULL_ALLOC(ndr, r->netbios_name);
7268 r->netbios_name = NULL;
7270 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7271 if (_ptr_dns_name) {
7272 NDR_PULL_ALLOC(ndr, r->dns_name);
7276 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7277 if (_ptr_site_name) {
7278 NDR_PULL_ALLOC(ndr, r->site_name);
7280 r->site_name = NULL;
7282 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7284 NDR_PULL_ALLOC(ndr, r->site_dn);
7288 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7289 if (_ptr_computer_dn) {
7290 NDR_PULL_ALLOC(ndr, r->computer_dn);
7292 r->computer_dn = NULL;
7294 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7295 if (_ptr_server_dn) {
7296 NDR_PULL_ALLOC(ndr, r->server_dn);
7298 r->server_dn = NULL;
7300 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7302 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7306 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7307 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7308 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7309 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7310 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7311 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7312 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7313 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7315 if (ndr_flags & NDR_BUFFERS) {
7316 if (r->netbios_name) {
7317 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7318 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7319 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7320 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7321 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7322 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7324 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7325 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7326 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7329 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7330 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7331 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7332 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7333 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7334 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7336 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7337 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7341 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7342 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7343 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7344 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7345 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7346 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name));
7348 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7349 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7350 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7353 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7354 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7355 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7356 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7357 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7358 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_dn), ndr_get_array_length(ndr, &r->site_dn));
7360 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7361 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7362 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7364 if (r->computer_dn) {
7365 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7366 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7367 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7368 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7369 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7370 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn));
7372 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7373 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7374 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7377 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7378 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7379 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7380 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7381 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7382 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
7384 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7385 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7386 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7389 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7390 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7391 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7392 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7393 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7394 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->ntds_dn), ndr_get_array_length(ndr, &r->ntds_dn));
7396 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7397 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7398 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7401 return NDR_ERR_SUCCESS;
7404 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7406 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7408 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7410 if (r->netbios_name) {
7411 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7414 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7417 ndr_print_string(ndr, "dns_name", r->dns_name);
7420 ndr_print_ptr(ndr, "site_name", r->site_name);
7423 ndr_print_string(ndr, "site_name", r->site_name);
7426 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7429 ndr_print_string(ndr, "site_dn", r->site_dn);
7432 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7434 if (r->computer_dn) {
7435 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7438 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7441 ndr_print_string(ndr, "server_dn", r->server_dn);
7444 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7447 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7450 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7451 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7452 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7453 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7454 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7455 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7456 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7460 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7462 uint32_t cntr_array_1;
7463 if (ndr_flags & NDR_SCALARS) {
7464 NDR_CHECK(ndr_push_align(ndr, 5));
7465 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7466 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7467 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7469 if (ndr_flags & NDR_BUFFERS) {
7471 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7472 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7473 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7475 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7476 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7480 return NDR_ERR_SUCCESS;
7483 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7485 uint32_t _ptr_array;
7486 uint32_t cntr_array_1;
7487 TALLOC_CTX *_mem_save_array_0;
7488 TALLOC_CTX *_mem_save_array_1;
7489 if (ndr_flags & NDR_SCALARS) {
7490 NDR_CHECK(ndr_pull_align(ndr, 5));
7491 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7492 if (r->count > 10000) {
7493 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7495 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7497 NDR_PULL_ALLOC(ndr, r->array);
7501 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7503 if (ndr_flags & NDR_BUFFERS) {
7505 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7506 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7507 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7508 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7509 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7510 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7511 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7512 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7514 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7515 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7517 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7521 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7524 return NDR_ERR_SUCCESS;
7527 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7529 uint32_t cntr_array_1;
7530 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7532 ndr_print_uint32(ndr, "count", r->count);
7533 ndr_print_ptr(ndr, "array", r->array);
7536 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7538 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7540 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7541 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7551 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7553 if (ndr_flags & NDR_SCALARS) {
7554 NDR_CHECK(ndr_push_align(ndr, 5));
7555 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7556 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7557 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7558 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7559 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7560 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7561 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7562 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7563 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7565 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7566 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7567 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7568 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7569 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7570 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7572 if (ndr_flags & NDR_BUFFERS) {
7573 if (r->netbios_name) {
7574 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7575 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7576 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7577 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7580 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7581 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7582 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7583 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7586 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7587 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7588 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7589 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7592 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7593 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7594 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7595 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7597 if (r->computer_dn) {
7598 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7599 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7600 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7601 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7604 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7605 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7606 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7607 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7610 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7611 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7612 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7613 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7616 return NDR_ERR_SUCCESS;
7619 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
7621 uint32_t _ptr_netbios_name;
7622 TALLOC_CTX *_mem_save_netbios_name_0;
7623 uint32_t _ptr_dns_name;
7624 TALLOC_CTX *_mem_save_dns_name_0;
7625 uint32_t _ptr_site_name;
7626 TALLOC_CTX *_mem_save_site_name_0;
7627 uint32_t _ptr_site_dn;
7628 TALLOC_CTX *_mem_save_site_dn_0;
7629 uint32_t _ptr_computer_dn;
7630 TALLOC_CTX *_mem_save_computer_dn_0;
7631 uint32_t _ptr_server_dn;
7632 TALLOC_CTX *_mem_save_server_dn_0;
7633 uint32_t _ptr_ntds_dn;
7634 TALLOC_CTX *_mem_save_ntds_dn_0;
7635 if (ndr_flags & NDR_SCALARS) {
7636 NDR_CHECK(ndr_pull_align(ndr, 5));
7637 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7638 if (_ptr_netbios_name) {
7639 NDR_PULL_ALLOC(ndr, r->netbios_name);
7641 r->netbios_name = NULL;
7643 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7644 if (_ptr_dns_name) {
7645 NDR_PULL_ALLOC(ndr, r->dns_name);
7649 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7650 if (_ptr_site_name) {
7651 NDR_PULL_ALLOC(ndr, r->site_name);
7653 r->site_name = NULL;
7655 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7657 NDR_PULL_ALLOC(ndr, r->site_dn);
7661 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7662 if (_ptr_computer_dn) {
7663 NDR_PULL_ALLOC(ndr, r->computer_dn);
7665 r->computer_dn = NULL;
7667 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7668 if (_ptr_server_dn) {
7669 NDR_PULL_ALLOC(ndr, r->server_dn);
7671 r->server_dn = NULL;
7673 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7675 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7679 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7680 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7681 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7682 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
7683 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7684 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7685 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7686 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7687 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7689 if (ndr_flags & NDR_BUFFERS) {
7690 if (r->netbios_name) {
7691 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7692 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7693 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7694 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7695 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7696 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7698 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7699 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7700 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7703 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7704 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7705 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7706 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7707 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7708 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7710 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7711 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7712 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7715 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7716 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7717 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7718 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7719 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7720 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name));
7722 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7723 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7724 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7727 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7728 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7729 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7730 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7731 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7732 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_dn), ndr_get_array_length(ndr, &r->site_dn));
7734 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7735 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7736 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7738 if (r->computer_dn) {
7739 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7740 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7741 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7742 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7743 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7744 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn));
7746 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7747 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7748 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7751 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7752 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7753 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7754 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7755 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7756 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
7758 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7759 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7760 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7763 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7764 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7765 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7766 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7767 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7768 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->ntds_dn), ndr_get_array_length(ndr, &r->ntds_dn));
7770 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7771 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7772 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7775 return NDR_ERR_SUCCESS;
7778 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7780 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7782 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7784 if (r->netbios_name) {
7785 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7788 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7791 ndr_print_string(ndr, "dns_name", r->dns_name);
7794 ndr_print_ptr(ndr, "site_name", r->site_name);
7797 ndr_print_string(ndr, "site_name", r->site_name);
7800 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7803 ndr_print_string(ndr, "site_dn", r->site_dn);
7806 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7808 if (r->computer_dn) {
7809 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7812 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7815 ndr_print_string(ndr, "server_dn", r->server_dn);
7818 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7821 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7824 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7825 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7826 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7827 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
7828 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7829 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7830 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7831 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7835 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
7837 uint32_t cntr_array_1;
7838 if (ndr_flags & NDR_SCALARS) {
7839 NDR_CHECK(ndr_push_align(ndr, 5));
7840 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7841 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7842 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7844 if (ndr_flags & NDR_BUFFERS) {
7846 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7847 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7848 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7850 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7851 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7855 return NDR_ERR_SUCCESS;
7858 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
7860 uint32_t _ptr_array;
7861 uint32_t cntr_array_1;
7862 TALLOC_CTX *_mem_save_array_0;
7863 TALLOC_CTX *_mem_save_array_1;
7864 if (ndr_flags & NDR_SCALARS) {
7865 NDR_CHECK(ndr_pull_align(ndr, 5));
7866 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7867 if (r->count > 10000) {
7868 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7870 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7872 NDR_PULL_ALLOC(ndr, r->array);
7876 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7878 if (ndr_flags & NDR_BUFFERS) {
7880 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7881 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7882 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7883 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7884 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7885 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7886 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7887 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7889 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7890 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7892 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7893 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7896 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7899 return NDR_ERR_SUCCESS;
7902 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
7904 uint32_t cntr_array_1;
7905 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
7907 ndr_print_uint32(ndr, "count", r->count);
7908 ndr_print_ptr(ndr, "array", r->array);
7911 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7913 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7915 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7916 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
7926 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
7928 if (ndr_flags & NDR_SCALARS) {
7929 NDR_CHECK(ndr_push_align(ndr, 5));
7931 uint32_t _flags_save_ipv4address = ndr->flags;
7932 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7933 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
7934 ndr->flags = _flags_save_ipv4address;
7936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
7937 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
7938 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
7939 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
7940 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
7941 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
7942 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7944 if (ndr_flags & NDR_BUFFERS) {
7945 if (r->client_account) {
7946 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7947 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7948 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7949 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7952 return NDR_ERR_SUCCESS;
7955 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
7957 uint32_t _ptr_client_account;
7958 TALLOC_CTX *_mem_save_client_account_0;
7959 if (ndr_flags & NDR_SCALARS) {
7960 NDR_CHECK(ndr_pull_align(ndr, 5));
7962 uint32_t _flags_save_ipv4address = ndr->flags;
7963 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7964 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
7965 ndr->flags = _flags_save_ipv4address;
7967 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
7968 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
7969 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
7970 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
7971 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
7972 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
7973 if (_ptr_client_account) {
7974 NDR_PULL_ALLOC(ndr, r->client_account);
7976 r->client_account = NULL;
7978 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7980 if (ndr_flags & NDR_BUFFERS) {
7981 if (r->client_account) {
7982 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
7983 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
7984 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
7985 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
7986 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
7987 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_account), ndr_get_array_length(ndr, &r->client_account));
7989 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
7990 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
7991 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
7994 return NDR_ERR_SUCCESS;
7997 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
7999 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8001 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8002 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8003 ndr_print_uint32(ndr, "connection_time", r->connection_time);
8004 ndr_print_uint32(ndr, "unknown4", r->unknown4);
8005 ndr_print_uint32(ndr, "unknown5", r->unknown5);
8006 ndr_print_uint32(ndr, "unknown6", r->unknown6);
8007 ndr_print_ptr(ndr, "client_account", r->client_account);
8009 if (r->client_account) {
8010 ndr_print_string(ndr, "client_account", r->client_account);
8016 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8018 uint32_t cntr_array_1;
8019 if (ndr_flags & NDR_SCALARS) {
8020 NDR_CHECK(ndr_push_align(ndr, 5));
8021 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8022 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8023 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8025 if (ndr_flags & NDR_BUFFERS) {
8027 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8028 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8029 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8031 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8032 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8036 return NDR_ERR_SUCCESS;
8039 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8041 uint32_t _ptr_array;
8042 uint32_t cntr_array_1;
8043 TALLOC_CTX *_mem_save_array_0;
8044 TALLOC_CTX *_mem_save_array_1;
8045 if (ndr_flags & NDR_SCALARS) {
8046 NDR_CHECK(ndr_pull_align(ndr, 5));
8047 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8048 if (r->count > 10000) {
8049 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8051 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8053 NDR_PULL_ALLOC(ndr, r->array);
8057 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8059 if (ndr_flags & NDR_BUFFERS) {
8061 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8062 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8063 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8064 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8065 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8066 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8067 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8068 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8070 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8071 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8073 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8077 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8080 return NDR_ERR_SUCCESS;
8083 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8085 uint32_t cntr_array_1;
8086 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8088 ndr_print_uint32(ndr, "count", r->count);
8089 ndr_print_ptr(ndr, "array", r->array);
8092 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8094 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8096 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8097 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8107 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8109 if (ndr_flags & NDR_SCALARS) {
8110 int level = ndr_push_get_switch_value(ndr, r);
8111 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8112 NDR_CHECK(ndr_push_union_align(ndr, 5));
8114 case DRSUAPI_DC_INFO_CTR_1: {
8115 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8118 case DRSUAPI_DC_INFO_CTR_2: {
8119 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8122 case DRSUAPI_DC_INFO_CTR_3: {
8123 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8126 case DRSUAPI_DC_CONNECTION_CTR_01: {
8127 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8131 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8134 if (ndr_flags & NDR_BUFFERS) {
8135 int level = ndr_push_get_switch_value(ndr, r);
8137 case DRSUAPI_DC_INFO_CTR_1:
8138 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8141 case DRSUAPI_DC_INFO_CTR_2:
8142 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8145 case DRSUAPI_DC_INFO_CTR_3:
8146 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8149 case DRSUAPI_DC_CONNECTION_CTR_01:
8150 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8154 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8157 return NDR_ERR_SUCCESS;
8160 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8164 level = ndr_pull_get_switch_value(ndr, r);
8165 if (ndr_flags & NDR_SCALARS) {
8166 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8167 if (_level != level) {
8168 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8170 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8172 case DRSUAPI_DC_INFO_CTR_1: {
8173 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8176 case DRSUAPI_DC_INFO_CTR_2: {
8177 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8180 case DRSUAPI_DC_INFO_CTR_3: {
8181 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8184 case DRSUAPI_DC_CONNECTION_CTR_01: {
8185 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8189 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8192 if (ndr_flags & NDR_BUFFERS) {
8194 case DRSUAPI_DC_INFO_CTR_1:
8195 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8198 case DRSUAPI_DC_INFO_CTR_2:
8199 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8202 case DRSUAPI_DC_INFO_CTR_3:
8203 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8206 case DRSUAPI_DC_CONNECTION_CTR_01:
8207 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8211 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8214 return NDR_ERR_SUCCESS;
8217 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
8220 level = ndr_print_get_switch_value(ndr, r);
8221 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
8223 case DRSUAPI_DC_INFO_CTR_1:
8224 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
8227 case DRSUAPI_DC_INFO_CTR_2:
8228 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
8231 case DRSUAPI_DC_INFO_CTR_3:
8232 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
8235 case DRSUAPI_DC_CONNECTION_CTR_01:
8236 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
8240 ndr_print_bad_level(ndr, name, level);
8244 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
8246 if (ndr_flags & NDR_SCALARS) {
8247 NDR_CHECK(ndr_push_align(ndr, 5));
8248 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
8249 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8250 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8252 if (ndr_flags & NDR_BUFFERS) {
8253 if (r->next_object) {
8254 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8256 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8258 return NDR_ERR_SUCCESS;
8261 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8263 uint32_t _ptr_next_object;
8264 TALLOC_CTX *_mem_save_next_object_0;
8265 if (ndr_flags & NDR_SCALARS) {
8266 NDR_CHECK(ndr_pull_align(ndr, 5));
8267 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8268 if (_ptr_next_object) {
8269 NDR_PULL_ALLOC(ndr, r->next_object);
8271 r->next_object = NULL;
8273 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8274 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8276 if (ndr_flags & NDR_BUFFERS) {
8277 if (r->next_object) {
8278 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8279 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8280 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8283 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8285 return NDR_ERR_SUCCESS;
8288 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8290 if (ndr_flags & NDR_SCALARS) {
8291 NDR_CHECK(ndr_push_align(ndr, 5));
8292 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8293 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8295 if (ndr_flags & NDR_BUFFERS) {
8296 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8298 return NDR_ERR_SUCCESS;
8301 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8303 if (ndr_flags & NDR_SCALARS) {
8304 NDR_CHECK(ndr_pull_align(ndr, 5));
8305 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8306 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8308 if (ndr_flags & NDR_BUFFERS) {
8309 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8311 return NDR_ERR_SUCCESS;
8314 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8316 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8318 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8322 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
8324 if (ndr_flags & NDR_SCALARS) {
8325 int level = ndr_push_get_switch_value(ndr, r);
8326 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8327 NDR_CHECK(ndr_push_union_align(ndr, 5));
8330 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8334 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8337 if (ndr_flags & NDR_BUFFERS) {
8338 int level = ndr_push_get_switch_value(ndr, r);
8341 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8345 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8348 return NDR_ERR_SUCCESS;
8351 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
8355 level = ndr_pull_get_switch_value(ndr, r);
8356 if (ndr_flags & NDR_SCALARS) {
8357 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8358 if (_level != level) {
8359 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8361 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8364 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8368 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8371 if (ndr_flags & NDR_BUFFERS) {
8374 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8378 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8381 return NDR_ERR_SUCCESS;
8384 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
8387 level = ndr_print_get_switch_value(ndr, r);
8388 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
8391 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
8395 ndr_print_bad_level(ndr, name, level);
8399 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
8401 if (ndr_flags & NDR_SCALARS) {
8402 NDR_CHECK(ndr_push_align(ndr, 4));
8403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8404 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8405 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8406 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
8407 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8409 if (ndr_flags & NDR_BUFFERS) {
8411 return NDR_ERR_SUCCESS;
8414 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
8416 if (ndr_flags & NDR_SCALARS) {
8417 NDR_CHECK(ndr_pull_align(ndr, 4));
8418 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8419 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8420 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8421 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
8422 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8424 if (ndr_flags & NDR_BUFFERS) {
8426 return NDR_ERR_SUCCESS;
8429 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
8431 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
8433 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8434 ndr_print_WERROR(ndr, "status", r->status);
8435 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8436 ndr_print_uint16(ndr, "unknown3", r->unknown3);
8440 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8442 if (ndr_flags & NDR_SCALARS) {
8443 NDR_CHECK(ndr_push_align(ndr, 5));
8444 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8445 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8446 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8448 if (ndr_flags & NDR_BUFFERS) {
8450 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
8451 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
8454 return NDR_ERR_SUCCESS;
8457 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8460 TALLOC_CTX *_mem_save_data_0;
8461 if (ndr_flags & NDR_SCALARS) {
8462 NDR_CHECK(ndr_pull_align(ndr, 5));
8463 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8464 if (r->size > 10485760) {
8465 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8467 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8469 NDR_PULL_ALLOC(ndr, r->data);
8473 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8475 if (ndr_flags & NDR_BUFFERS) {
8477 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8478 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8479 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
8480 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
8481 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
8482 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8485 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
8488 return NDR_ERR_SUCCESS;
8491 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8493 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
8495 ndr_print_uint32(ndr, "size", r->size);
8496 ndr_print_ptr(ndr, "data", r->data);
8499 ndr_print_array_uint8(ndr, "data", r->data, r->size);
8505 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
8507 if (ndr_flags & NDR_SCALARS) {
8508 NDR_CHECK(ndr_push_align(ndr, 5));
8509 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8510 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
8511 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8512 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8513 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8515 if (ndr_flags & NDR_BUFFERS) {
8516 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8518 return NDR_ERR_SUCCESS;
8521 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
8523 if (ndr_flags & NDR_SCALARS) {
8524 NDR_CHECK(ndr_pull_align(ndr, 5));
8525 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8526 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
8527 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8528 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8529 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8531 if (ndr_flags & NDR_BUFFERS) {
8532 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8534 return NDR_ERR_SUCCESS;
8537 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
8539 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
8541 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8542 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
8543 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8544 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
8548 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8550 if (ndr_flags & NDR_SCALARS) {
8551 NDR_CHECK(ndr_push_align(ndr, 5));
8552 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
8553 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8554 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8556 if (ndr_flags & NDR_BUFFERS) {
8558 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8560 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8562 return NDR_ERR_SUCCESS;
8565 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
8568 TALLOC_CTX *_mem_save_next_0;
8569 if (ndr_flags & NDR_SCALARS) {
8570 NDR_CHECK(ndr_pull_align(ndr, 5));
8571 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
8573 NDR_PULL_ALLOC(ndr, r->next);
8577 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8578 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8580 if (ndr_flags & NDR_BUFFERS) {
8582 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
8583 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
8584 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8585 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
8587 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8589 return NDR_ERR_SUCCESS;
8592 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8594 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
8596 ndr_print_ptr(ndr, "next", r->next);
8599 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
8602 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
8606 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8608 if (ndr_flags & NDR_SCALARS) {
8609 NDR_CHECK(ndr_push_align(ndr, 5));
8610 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8611 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8612 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8613 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8615 if (ndr_flags & NDR_BUFFERS) {
8617 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8619 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8621 return NDR_ERR_SUCCESS;
8624 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
8627 TALLOC_CTX *_mem_save_id_0;
8628 if (ndr_flags & NDR_SCALARS) {
8629 NDR_CHECK(ndr_pull_align(ndr, 5));
8630 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8632 NDR_PULL_ALLOC(ndr, r->id);
8636 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8637 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8638 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8640 if (ndr_flags & NDR_BUFFERS) {
8642 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8643 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8644 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8645 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8647 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8649 return NDR_ERR_SUCCESS;
8652 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8654 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
8656 ndr_print_ptr(ndr, "id", r->id);
8659 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8662 ndr_print_WERROR(ndr, "status", r->status);
8663 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
8667 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
8669 if (ndr_flags & NDR_SCALARS) {
8670 int level = ndr_push_get_switch_value(ndr, r);
8671 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8672 NDR_CHECK(ndr_push_union_align(ndr, 5));
8675 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8679 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8683 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8687 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8691 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8695 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8698 if (ndr_flags & NDR_BUFFERS) {
8699 int level = ndr_push_get_switch_value(ndr, r);
8702 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8718 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8721 return NDR_ERR_SUCCESS;
8724 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
8728 level = ndr_pull_get_switch_value(ndr, r);
8729 if (ndr_flags & NDR_SCALARS) {
8730 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8731 if (_level != level) {
8732 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8734 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8737 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8741 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8745 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8749 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8753 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8757 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8760 if (ndr_flags & NDR_BUFFERS) {
8763 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8779 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8782 return NDR_ERR_SUCCESS;
8785 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
8788 level = ndr_print_get_switch_value(ndr, r);
8789 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
8792 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
8796 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8800 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8804 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8808 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8812 ndr_print_bad_level(ndr, name, level);
8816 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
8818 if (ndr_flags & NDR_SCALARS) {
8819 NDR_CHECK(ndr_push_align(ndr, 5));
8820 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8821 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8822 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8823 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8825 if (ndr_flags & NDR_BUFFERS) {
8827 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
8828 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8831 return NDR_ERR_SUCCESS;
8834 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
8837 TALLOC_CTX *_mem_save_info_0;
8838 if (ndr_flags & NDR_SCALARS) {
8839 NDR_CHECK(ndr_pull_align(ndr, 5));
8840 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8841 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
8842 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8844 NDR_PULL_ALLOC(ndr, r->info);
8848 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8850 if (ndr_flags & NDR_BUFFERS) {
8852 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8853 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8854 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
8855 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8856 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8859 return NDR_ERR_SUCCESS;
8862 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
8864 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
8866 ndr_print_WERROR(ndr, "status", r->status);
8867 ndr_print_uint32(ndr, "level", r->level);
8868 ndr_print_ptr(ndr, "info", r->info);
8871 ndr_print_set_switch_value(ndr, r->info, r->level);
8872 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
8878 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
8880 if (ndr_flags & NDR_SCALARS) {
8881 int level = ndr_push_get_switch_value(ndr, r);
8882 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8883 NDR_CHECK(ndr_push_union_align(ndr, 5));
8886 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8890 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8893 if (ndr_flags & NDR_BUFFERS) {
8894 int level = ndr_push_get_switch_value(ndr, r);
8897 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8901 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8904 return NDR_ERR_SUCCESS;
8907 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
8911 level = ndr_pull_get_switch_value(ndr, r);
8912 if (ndr_flags & NDR_SCALARS) {
8913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8914 if (_level != level) {
8915 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8917 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8920 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8924 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8927 if (ndr_flags & NDR_BUFFERS) {
8930 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8934 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8937 return NDR_ERR_SUCCESS;
8940 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
8943 level = ndr_print_get_switch_value(ndr, r);
8944 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
8947 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
8951 ndr_print_bad_level(ndr, name, level);
8955 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
8957 if (ndr_flags & NDR_SCALARS) {
8958 NDR_CHECK(ndr_push_align(ndr, 4));
8959 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
8960 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
8961 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8963 if (ndr_flags & NDR_BUFFERS) {
8964 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
8966 return NDR_ERR_SUCCESS;
8969 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
8971 if (ndr_flags & NDR_SCALARS) {
8972 NDR_CHECK(ndr_pull_align(ndr, 4));
8973 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
8974 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
8975 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8977 if (ndr_flags & NDR_BUFFERS) {
8978 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
8980 return NDR_ERR_SUCCESS;
8983 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
8985 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
8987 ndr_print_GUID(ndr, "guid", &r->guid);
8988 ndr_print_dom_sid28(ndr, "sid", &r->sid);
8992 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
8994 uint32_t cntr_objects_1;
8995 if (ndr_flags & NDR_SCALARS) {
8996 NDR_CHECK(ndr_push_align(ndr, 5));
8997 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8998 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8999 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9000 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9001 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9002 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9004 if (ndr_flags & NDR_BUFFERS) {
9006 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9009 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9010 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9011 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9013 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9014 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9018 return NDR_ERR_SUCCESS;
9021 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
9024 TALLOC_CTX *_mem_save_id_0;
9025 uint32_t _ptr_objects;
9026 uint32_t cntr_objects_1;
9027 TALLOC_CTX *_mem_save_objects_0;
9028 TALLOC_CTX *_mem_save_objects_1;
9029 if (ndr_flags & NDR_SCALARS) {
9030 NDR_CHECK(ndr_pull_align(ndr, 5));
9031 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9033 NDR_PULL_ALLOC(ndr, r->id);
9037 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9038 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9039 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9040 if (r->count > 10000) {
9041 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9043 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9045 NDR_PULL_ALLOC(ndr, r->objects);
9049 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9051 if (ndr_flags & NDR_BUFFERS) {
9053 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9054 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9055 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9056 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9059 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9060 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9061 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9062 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9063 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9064 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9065 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9066 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9068 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9069 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9071 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9072 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9075 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9078 return NDR_ERR_SUCCESS;
9081 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
9083 uint32_t cntr_objects_1;
9084 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
9086 ndr_print_ptr(ndr, "id", r->id);
9089 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9092 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9093 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
9094 ndr_print_uint32(ndr, "count", r->count);
9095 ndr_print_ptr(ndr, "objects", r->objects);
9098 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9100 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9102 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9103 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9113 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
9115 uint32_t cntr_objects_1;
9116 if (ndr_flags & NDR_SCALARS) {
9117 NDR_CHECK(ndr_push_align(ndr, 5));
9118 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
9120 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
9121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9122 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9123 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9125 if (ndr_flags & NDR_BUFFERS) {
9127 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9130 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
9131 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9134 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9135 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9136 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9138 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9139 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9143 return NDR_ERR_SUCCESS;
9146 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
9149 TALLOC_CTX *_mem_save_id_0;
9150 uint32_t _ptr_error;
9151 TALLOC_CTX *_mem_save_error_0;
9152 uint32_t _ptr_objects;
9153 uint32_t cntr_objects_1;
9154 TALLOC_CTX *_mem_save_objects_0;
9155 TALLOC_CTX *_mem_save_objects_1;
9156 if (ndr_flags & NDR_SCALARS) {
9157 NDR_CHECK(ndr_pull_align(ndr, 5));
9158 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9160 NDR_PULL_ALLOC(ndr, r->id);
9164 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9165 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
9167 NDR_PULL_ALLOC(ndr, r->error);
9171 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9172 if (r->count > 10000) {
9173 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9175 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9177 NDR_PULL_ALLOC(ndr, r->objects);
9181 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9183 if (ndr_flags & NDR_BUFFERS) {
9185 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9186 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9187 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9188 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9191 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
9192 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
9193 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
9194 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9195 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
9198 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9199 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9200 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9201 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9202 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9203 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9204 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9205 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9207 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9208 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9210 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9211 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9214 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9217 return NDR_ERR_SUCCESS;
9220 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
9222 uint32_t cntr_objects_1;
9223 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
9225 ndr_print_ptr(ndr, "id", r->id);
9228 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9231 ndr_print_uint32(ndr, "level", r->level);
9232 ndr_print_ptr(ndr, "error", r->error);
9235 ndr_print_set_switch_value(ndr, r->error, r->level);
9236 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
9239 ndr_print_uint32(ndr, "count", r->count);
9240 ndr_print_ptr(ndr, "objects", r->objects);
9243 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9245 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9247 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9248 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9258 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
9260 if (ndr_flags & NDR_SCALARS) {
9261 int level = ndr_push_get_switch_value(ndr, r);
9262 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
9263 NDR_CHECK(ndr_push_union_align(ndr, 5));
9266 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9270 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9274 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9277 if (ndr_flags & NDR_BUFFERS) {
9278 int level = ndr_push_get_switch_value(ndr, r);
9281 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9285 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9289 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9292 return NDR_ERR_SUCCESS;
9295 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
9299 level = ndr_pull_get_switch_value(ndr, r);
9300 if (ndr_flags & NDR_SCALARS) {
9301 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
9302 if (_level != level) {
9303 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9305 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9308 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9312 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9316 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9319 if (ndr_flags & NDR_BUFFERS) {
9322 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9326 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9330 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9333 return NDR_ERR_SUCCESS;
9336 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
9339 level = ndr_print_get_switch_value(ndr, r);
9340 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
9343 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
9347 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
9351 ndr_print_bad_level(ndr, name, level);
9355 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9357 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9358 return NDR_ERR_SUCCESS;
9361 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9364 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9366 return NDR_ERR_SUCCESS;
9369 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
9371 ndr_print_uint32(ndr, name, r);
9373 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
9374 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
9378 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
9380 if (ndr_flags & NDR_SCALARS) {
9381 NDR_CHECK(ndr_push_align(ndr, 4));
9382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
9383 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
9384 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9386 if (ndr_flags & NDR_BUFFERS) {
9388 return NDR_ERR_SUCCESS;
9391 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
9393 if (ndr_flags & NDR_SCALARS) {
9394 NDR_CHECK(ndr_pull_align(ndr, 4));
9395 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
9396 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
9397 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9399 if (ndr_flags & NDR_BUFFERS) {
9401 return NDR_ERR_SUCCESS;
9404 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
9406 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
9408 ndr_print_uint32(ndr, "taskID", r->taskID);
9409 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
9413 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
9415 if (ndr_flags & NDR_SCALARS) {
9416 int level = ndr_push_get_switch_value(ndr, r);
9417 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9418 NDR_CHECK(ndr_push_union_align(ndr, 4));
9421 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9425 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9428 if (ndr_flags & NDR_BUFFERS) {
9429 int level = ndr_push_get_switch_value(ndr, r);
9435 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9438 return NDR_ERR_SUCCESS;
9441 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
9445 level = ndr_pull_get_switch_value(ndr, r);
9446 if (ndr_flags & NDR_SCALARS) {
9447 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9448 if (_level != level) {
9449 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9451 NDR_CHECK(ndr_pull_union_align(ndr, 4));
9454 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9458 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9461 if (ndr_flags & NDR_BUFFERS) {
9467 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9470 return NDR_ERR_SUCCESS;
9473 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
9476 level = ndr_print_get_switch_value(ndr, r);
9477 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
9480 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
9484 ndr_print_bad_level(ndr, name, level);
9488 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
9490 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9491 return NDR_ERR_SUCCESS;
9494 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
9497 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9499 return NDR_ERR_SUCCESS;
9502 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
9504 const char *val = NULL;
9507 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9508 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9510 ndr_print_enum(ndr, name, "ENUM", val, r);
9513 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
9515 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9516 return NDR_ERR_SUCCESS;
9519 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
9522 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9524 return NDR_ERR_SUCCESS;
9527 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
9529 const char *val = NULL;
9532 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9533 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9534 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9535 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9536 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9537 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9538 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9539 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9540 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9541 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9542 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9543 case DRSUAPI_DS_REPLICA_INFO_REPSTO: val = "DRSUAPI_DS_REPLICA_INFO_REPSTO"; break;
9544 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: val = "DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS"; break;
9545 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: val = "DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1"; break;
9546 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: val = "DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS"; break;
9548 ndr_print_enum(ndr, name, "ENUM", val, r);
9551 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9553 if (ndr_flags & NDR_SCALARS) {
9554 NDR_CHECK(ndr_push_align(ndr, 5));
9555 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9556 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9557 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9558 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9560 if (ndr_flags & NDR_BUFFERS) {
9562 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9563 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9564 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9565 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9568 return NDR_ERR_SUCCESS;
9571 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
9573 uint32_t _ptr_object_dn;
9574 TALLOC_CTX *_mem_save_object_dn_0;
9575 if (ndr_flags & NDR_SCALARS) {
9576 NDR_CHECK(ndr_pull_align(ndr, 5));
9577 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9578 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9579 if (_ptr_object_dn) {
9580 NDR_PULL_ALLOC(ndr, r->object_dn);
9582 r->object_dn = NULL;
9584 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9585 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9587 if (ndr_flags & NDR_BUFFERS) {
9589 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9590 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9591 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9592 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9593 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9594 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
9596 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9597 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9598 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9601 return NDR_ERR_SUCCESS;
9604 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9606 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
9608 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9609 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9612 ndr_print_string(ndr, "object_dn", r->object_dn);
9615 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
9619 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9621 if (ndr_flags & NDR_SCALARS) {
9622 NDR_CHECK(ndr_push_align(ndr, 5));
9623 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9624 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9625 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
9627 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
9628 NDR_CHECK(ndr_push_unique_ptr(ndr, r->value_dn_str));
9629 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
9630 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9632 if (ndr_flags & NDR_BUFFERS) {
9634 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9635 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9636 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9637 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9639 if (r->attribute_name) {
9640 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9641 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9642 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9643 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9645 if (r->value_dn_str) {
9646 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
9647 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9648 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
9649 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));
9652 return NDR_ERR_SUCCESS;
9655 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
9657 uint32_t _ptr_object_dn;
9658 TALLOC_CTX *_mem_save_object_dn_0;
9659 uint32_t _ptr_attribute_name;
9660 TALLOC_CTX *_mem_save_attribute_name_0;
9661 uint32_t _ptr_value_dn_str;
9662 TALLOC_CTX *_mem_save_value_dn_str_0;
9663 if (ndr_flags & NDR_SCALARS) {
9664 NDR_CHECK(ndr_pull_align(ndr, 5));
9665 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9666 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9667 if (_ptr_object_dn) {
9668 NDR_PULL_ALLOC(ndr, r->object_dn);
9670 r->object_dn = NULL;
9672 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
9673 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
9674 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
9675 if (_ptr_attribute_name) {
9676 NDR_PULL_ALLOC(ndr, r->attribute_name);
9678 r->attribute_name = NULL;
9680 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_dn_str));
9681 if (_ptr_value_dn_str) {
9682 NDR_PULL_ALLOC(ndr, r->value_dn_str);
9684 r->value_dn_str = NULL;
9686 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
9687 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9689 if (ndr_flags & NDR_BUFFERS) {
9691 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9692 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9693 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9694 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9695 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9696 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
9698 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9699 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9700 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9702 if (r->attribute_name) {
9703 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9704 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
9705 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
9706 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
9707 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
9708 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
9710 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
9711 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
9712 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
9714 if (r->value_dn_str) {
9715 _mem_save_value_dn_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
9716 NDR_PULL_SET_MEM_CTX(ndr, r->value_dn_str, 0);
9717 NDR_CHECK(ndr_pull_array_size(ndr, &r->value_dn_str));
9718 NDR_CHECK(ndr_pull_array_length(ndr, &r->value_dn_str));
9719 if (ndr_get_array_length(ndr, &r->value_dn_str) > ndr_get_array_size(ndr, &r->value_dn_str)) {
9720 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->value_dn_str), ndr_get_array_length(ndr, &r->value_dn_str));
9722 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->value_dn_str), sizeof(uint16_t)));
9723 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->value_dn_str, ndr_get_array_length(ndr, &r->value_dn_str), sizeof(uint16_t), CH_UTF16));
9724 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_dn_str_0, 0);
9727 return NDR_ERR_SUCCESS;
9730 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9732 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
9734 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9735 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9738 ndr_print_string(ndr, "object_dn", r->object_dn);
9741 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
9742 ndr_print_uint32(ndr, "flags", r->flags);
9743 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
9745 if (r->attribute_name) {
9746 ndr_print_string(ndr, "attribute_name", r->attribute_name);
9749 ndr_print_ptr(ndr, "value_dn_str", r->value_dn_str);
9751 if (r->value_dn_str) {
9752 ndr_print_string(ndr, "value_dn_str", r->value_dn_str);
9755 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
9759 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
9761 if (ndr_flags & NDR_SCALARS) {
9762 int level = ndr_push_get_switch_value(ndr, r);
9763 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
9764 NDR_CHECK(ndr_push_union_align(ndr, 5));
9766 case DRSUAPI_DS_REPLICA_GET_INFO: {
9767 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9770 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9771 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9775 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9778 if (ndr_flags & NDR_BUFFERS) {
9779 int level = ndr_push_get_switch_value(ndr, r);
9781 case DRSUAPI_DS_REPLICA_GET_INFO:
9782 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9785 case DRSUAPI_DS_REPLICA_GET_INFO2:
9786 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9790 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9793 return NDR_ERR_SUCCESS;
9796 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
9800 level = ndr_pull_get_switch_value(ndr, r);
9801 if (ndr_flags & NDR_SCALARS) {
9802 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9803 if (_level != level) {
9804 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9806 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9808 case DRSUAPI_DS_REPLICA_GET_INFO: {
9809 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9812 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9813 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9817 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9820 if (ndr_flags & NDR_BUFFERS) {
9822 case DRSUAPI_DS_REPLICA_GET_INFO:
9823 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9826 case DRSUAPI_DS_REPLICA_GET_INFO2:
9827 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9831 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9834 return NDR_ERR_SUCCESS;
9837 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
9840 level = ndr_print_get_switch_value(ndr, r);
9841 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
9843 case DRSUAPI_DS_REPLICA_GET_INFO:
9844 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
9847 case DRSUAPI_DS_REPLICA_GET_INFO2:
9848 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
9852 ndr_print_bad_level(ndr, name, level);
9856 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
9858 if (ndr_flags & NDR_SCALARS) {
9859 NDR_CHECK(ndr_push_align(ndr, 8));
9860 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
9861 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
9862 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
9863 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
9864 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
9865 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9866 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9867 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9868 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9869 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9870 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
9871 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
9872 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
9873 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
9874 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
9875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
9876 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
9878 if (ndr_flags & NDR_BUFFERS) {
9879 if (r->naming_context_dn) {
9880 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9881 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9882 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9883 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));
9885 if (r->source_dsa_obj_dn) {
9886 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9887 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9888 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9889 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));
9891 if (r->source_dsa_address) {
9892 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9893 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9894 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9895 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));
9897 if (r->transport_obj_dn) {
9898 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9899 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9900 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9901 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));
9904 return NDR_ERR_SUCCESS;
9907 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
9909 uint32_t _ptr_naming_context_dn;
9910 TALLOC_CTX *_mem_save_naming_context_dn_0;
9911 uint32_t _ptr_source_dsa_obj_dn;
9912 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
9913 uint32_t _ptr_source_dsa_address;
9914 TALLOC_CTX *_mem_save_source_dsa_address_0;
9915 uint32_t _ptr_transport_obj_dn;
9916 TALLOC_CTX *_mem_save_transport_obj_dn_0;
9917 if (ndr_flags & NDR_SCALARS) {
9918 NDR_CHECK(ndr_pull_align(ndr, 8));
9919 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
9920 if (_ptr_naming_context_dn) {
9921 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
9923 r->naming_context_dn = NULL;
9925 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
9926 if (_ptr_source_dsa_obj_dn) {
9927 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
9929 r->source_dsa_obj_dn = NULL;
9931 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
9932 if (_ptr_source_dsa_address) {
9933 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
9935 r->source_dsa_address = NULL;
9937 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
9938 if (_ptr_transport_obj_dn) {
9939 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
9941 r->transport_obj_dn = NULL;
9943 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
9944 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9945 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9946 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9947 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9948 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9949 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
9950 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
9951 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
9952 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
9953 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
9954 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
9955 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
9957 if (ndr_flags & NDR_BUFFERS) {
9958 if (r->naming_context_dn) {
9959 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9960 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
9961 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
9962 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
9963 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
9964 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->naming_context_dn), ndr_get_array_length(ndr, &r->naming_context_dn));
9966 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
9967 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->naming_context_dn, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t), CH_UTF16));
9968 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
9970 if (r->source_dsa_obj_dn) {
9971 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9972 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
9973 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
9974 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
9975 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
9976 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_obj_dn), ndr_get_array_length(ndr, &r->source_dsa_obj_dn));
9978 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
9979 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
9980 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
9982 if (r->source_dsa_address) {
9983 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
9984 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
9985 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
9986 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
9987 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
9988 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
9990 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
9991 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
9992 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
9994 if (r->transport_obj_dn) {
9995 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9996 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
9997 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
9998 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
9999 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
10000 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->transport_obj_dn), ndr_get_array_length(ndr, &r->transport_obj_dn));
10002 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
10003 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->transport_obj_dn, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t), CH_UTF16));
10004 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
10007 return NDR_ERR_SUCCESS;
10010 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
10012 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
10014 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
10016 if (r->naming_context_dn) {
10017 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
10020 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10022 if (r->source_dsa_obj_dn) {
10023 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10026 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
10028 if (r->source_dsa_address) {
10029 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
10032 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
10034 if (r->transport_obj_dn) {
10035 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
10038 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
10039 ndr_print_uint32(ndr, "reserved", r->reserved);
10040 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
10041 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
10042 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10043 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
10044 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
10045 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10046 ndr_print_NTTIME(ndr, "last_success", r->last_success);
10047 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
10048 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
10049 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
10053 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
10055 uint32_t cntr_array_0;
10056 if (ndr_flags & NDR_SCALARS) {
10057 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10058 NDR_CHECK(ndr_push_align(ndr, 8));
10059 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10060 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10061 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10062 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10064 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10066 if (ndr_flags & NDR_BUFFERS) {
10067 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10068 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10071 return NDR_ERR_SUCCESS;
10074 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
10076 uint32_t cntr_array_0;
10077 TALLOC_CTX *_mem_save_array_0;
10078 if (ndr_flags & NDR_SCALARS) {
10079 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10080 NDR_CHECK(ndr_pull_align(ndr, 8));
10081 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10082 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10083 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10084 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10085 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10086 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10087 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10089 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10091 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10093 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10095 if (ndr_flags & NDR_BUFFERS) {
10096 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10097 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10098 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10099 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10101 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10103 return NDR_ERR_SUCCESS;
10106 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
10108 uint32_t cntr_array_0;
10109 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
10111 ndr_print_uint32(ndr, "count", r->count);
10112 ndr_print_uint32(ndr, "reserved", r->reserved);
10113 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10115 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10117 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10118 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
10126 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
10128 uint32_t cntr_array_0;
10129 if (ndr_flags & NDR_SCALARS) {
10130 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10131 NDR_CHECK(ndr_push_align(ndr, 8));
10132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10134 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10135 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10137 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10139 if (ndr_flags & NDR_BUFFERS) {
10141 return NDR_ERR_SUCCESS;
10144 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
10146 uint32_t cntr_array_0;
10147 TALLOC_CTX *_mem_save_array_0;
10148 if (ndr_flags & NDR_SCALARS) {
10149 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10150 NDR_CHECK(ndr_pull_align(ndr, 8));
10151 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10152 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10153 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10154 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10155 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10156 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10157 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10161 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10163 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10165 if (ndr_flags & NDR_BUFFERS) {
10167 return NDR_ERR_SUCCESS;
10170 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
10172 uint32_t cntr_array_0;
10173 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
10175 ndr_print_uint32(ndr, "count", r->count);
10176 ndr_print_uint32(ndr, "reserved", r->reserved);
10177 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10179 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10181 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10182 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
10190 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
10192 if (ndr_flags & NDR_SCALARS) {
10193 NDR_CHECK(ndr_push_align(ndr, 8));
10194 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10196 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10197 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10198 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10199 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10200 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10202 if (ndr_flags & NDR_BUFFERS) {
10203 if (r->attribute_name) {
10204 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10205 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10206 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10207 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10210 return NDR_ERR_SUCCESS;
10213 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
10215 uint32_t _ptr_attribute_name;
10216 TALLOC_CTX *_mem_save_attribute_name_0;
10217 if (ndr_flags & NDR_SCALARS) {
10218 NDR_CHECK(ndr_pull_align(ndr, 8));
10219 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10220 if (_ptr_attribute_name) {
10221 NDR_PULL_ALLOC(ndr, r->attribute_name);
10223 r->attribute_name = NULL;
10225 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10226 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10227 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10228 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10229 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10230 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10232 if (ndr_flags & NDR_BUFFERS) {
10233 if (r->attribute_name) {
10234 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10235 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10236 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10237 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10238 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10239 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
10241 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10242 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10246 return NDR_ERR_SUCCESS;
10249 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
10251 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
10253 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10255 if (r->attribute_name) {
10256 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10259 ndr_print_uint32(ndr, "version", r->version);
10260 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10261 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10262 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10263 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10267 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10269 uint32_t cntr_array_0;
10270 if (ndr_flags & NDR_SCALARS) {
10271 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10272 NDR_CHECK(ndr_push_align(ndr, 8));
10273 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10274 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10275 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10276 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10278 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10280 if (ndr_flags & NDR_BUFFERS) {
10281 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10282 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10285 return NDR_ERR_SUCCESS;
10288 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
10290 uint32_t cntr_array_0;
10291 TALLOC_CTX *_mem_save_array_0;
10292 if (ndr_flags & NDR_SCALARS) {
10293 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10294 NDR_CHECK(ndr_pull_align(ndr, 8));
10295 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10296 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10297 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10298 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10299 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10300 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10301 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10305 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10307 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10309 if (ndr_flags & NDR_BUFFERS) {
10310 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10311 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10312 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10313 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10317 return NDR_ERR_SUCCESS;
10320 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10322 uint32_t cntr_array_0;
10323 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
10325 ndr_print_uint32(ndr, "count", r->count);
10326 ndr_print_uint32(ndr, "reserved", r->reserved);
10327 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10329 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10331 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10332 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
10340 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
10342 if (ndr_flags & NDR_SCALARS) {
10343 NDR_CHECK(ndr_push_align(ndr, 5));
10344 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
10345 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10346 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
10347 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
10348 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
10349 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10351 if (ndr_flags & NDR_BUFFERS) {
10352 if (r->dsa_obj_dn) {
10353 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10354 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10355 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10356 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));
10359 return NDR_ERR_SUCCESS;
10362 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
10364 uint32_t _ptr_dsa_obj_dn;
10365 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
10366 if (ndr_flags & NDR_SCALARS) {
10367 NDR_CHECK(ndr_pull_align(ndr, 5));
10368 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
10369 if (_ptr_dsa_obj_dn) {
10370 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
10372 r->dsa_obj_dn = NULL;
10374 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10375 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
10376 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
10377 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
10378 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10380 if (ndr_flags & NDR_BUFFERS) {
10381 if (r->dsa_obj_dn) {
10382 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10383 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
10384 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
10385 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
10386 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
10387 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dsa_obj_dn), ndr_get_array_length(ndr, &r->dsa_obj_dn));
10389 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
10390 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dsa_obj_dn, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
10391 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
10394 return NDR_ERR_SUCCESS;
10397 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
10399 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
10401 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10403 if (r->dsa_obj_dn) {
10404 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10407 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
10408 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
10409 ndr_print_uint32(ndr, "num_failures", r->num_failures);
10410 ndr_print_WERROR(ndr, "last_result", r->last_result);
10414 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10416 uint32_t cntr_array_0;
10417 if (ndr_flags & NDR_SCALARS) {
10418 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10419 NDR_CHECK(ndr_push_align(ndr, 5));
10420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10422 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10423 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10425 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10427 if (ndr_flags & NDR_BUFFERS) {
10428 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10429 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10432 return NDR_ERR_SUCCESS;
10435 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10437 uint32_t cntr_array_0;
10438 TALLOC_CTX *_mem_save_array_0;
10439 if (ndr_flags & NDR_SCALARS) {
10440 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10441 NDR_CHECK(ndr_pull_align(ndr, 5));
10442 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10443 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10444 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10445 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10446 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10447 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10448 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10450 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10452 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10454 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10456 if (ndr_flags & NDR_BUFFERS) {
10457 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10458 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10459 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10460 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10464 return NDR_ERR_SUCCESS;
10467 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10469 uint32_t cntr_array_0;
10470 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
10472 ndr_print_uint32(ndr, "count", r->count);
10473 ndr_print_uint32(ndr, "reserved", r->reserved);
10474 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10476 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10478 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10479 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
10487 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
10489 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
10490 return NDR_ERR_SUCCESS;
10493 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
10496 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
10498 return NDR_ERR_SUCCESS;
10501 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
10503 const char *val = NULL;
10506 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10507 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10508 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10509 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10510 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10512 ndr_print_enum(ndr, name, "ENUM", val, r);
10515 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
10517 if (ndr_flags & NDR_SCALARS) {
10518 NDR_CHECK(ndr_push_align(ndr, 5));
10519 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
10520 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
10521 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
10522 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
10523 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
10524 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
10525 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
10526 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
10527 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10528 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10529 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10531 if (ndr_flags & NDR_BUFFERS) {
10533 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10534 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10535 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10536 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10538 if (r->remote_dsa_obj_dn) {
10539 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10540 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10541 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10542 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));
10544 if (r->remote_dsa_address) {
10545 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10546 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10547 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10548 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));
10551 return NDR_ERR_SUCCESS;
10554 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
10556 uint32_t _ptr_nc_dn;
10557 TALLOC_CTX *_mem_save_nc_dn_0;
10558 uint32_t _ptr_remote_dsa_obj_dn;
10559 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
10560 uint32_t _ptr_remote_dsa_address;
10561 TALLOC_CTX *_mem_save_remote_dsa_address_0;
10562 if (ndr_flags & NDR_SCALARS) {
10563 NDR_CHECK(ndr_pull_align(ndr, 5));
10564 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
10565 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
10566 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
10567 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
10568 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
10569 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
10571 NDR_PULL_ALLOC(ndr, r->nc_dn);
10575 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
10576 if (_ptr_remote_dsa_obj_dn) {
10577 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
10579 r->remote_dsa_obj_dn = NULL;
10581 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
10582 if (_ptr_remote_dsa_address) {
10583 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
10585 r->remote_dsa_address = NULL;
10587 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10588 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10589 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10591 if (ndr_flags & NDR_BUFFERS) {
10593 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10594 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
10595 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
10596 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
10597 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
10598 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->nc_dn), ndr_get_array_length(ndr, &r->nc_dn));
10600 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
10601 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
10602 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
10604 if (r->remote_dsa_obj_dn) {
10605 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10606 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
10607 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
10608 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
10609 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
10610 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote_dsa_obj_dn), ndr_get_array_length(ndr, &r->remote_dsa_obj_dn));
10612 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
10613 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_obj_dn, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
10614 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
10616 if (r->remote_dsa_address) {
10617 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10618 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
10619 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
10620 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
10621 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
10622 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote_dsa_address), ndr_get_array_length(ndr, &r->remote_dsa_address));
10624 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
10625 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_address, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t), CH_UTF16));
10626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
10629 return NDR_ERR_SUCCESS;
10632 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
10634 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
10636 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
10637 ndr_print_uint32(ndr, "serial_num", r->serial_num);
10638 ndr_print_uint32(ndr, "priority", r->priority);
10639 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
10640 ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
10641 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
10644 ndr_print_string(ndr, "nc_dn", r->nc_dn);
10647 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10649 if (r->remote_dsa_obj_dn) {
10650 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10653 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
10655 if (r->remote_dsa_address) {
10656 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
10659 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
10660 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
10664 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
10666 uint32_t cntr_array_0;
10667 if (ndr_flags & NDR_SCALARS) {
10668 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10669 NDR_CHECK(ndr_push_align(ndr, 5));
10670 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
10671 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10672 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10673 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10675 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10677 if (ndr_flags & NDR_BUFFERS) {
10678 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10679 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10682 return NDR_ERR_SUCCESS;
10685 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
10687 uint32_t cntr_array_0;
10688 TALLOC_CTX *_mem_save_array_0;
10689 if (ndr_flags & NDR_SCALARS) {
10690 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10691 NDR_CHECK(ndr_pull_align(ndr, 5));
10692 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
10693 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10694 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10695 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10696 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10697 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10698 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10700 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10702 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10704 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10706 if (ndr_flags & NDR_BUFFERS) {
10707 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10708 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10709 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10710 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10712 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10714 return NDR_ERR_SUCCESS;
10717 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
10719 uint32_t cntr_array_0;
10720 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
10722 ndr_print_NTTIME(ndr, "time", r->time);
10723 ndr_print_uint32(ndr, "count", r->count);
10724 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10726 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10728 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10729 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
10737 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
10739 if (ndr_flags & NDR_SCALARS) {
10740 NDR_CHECK(ndr_push_align(ndr, 8));
10741 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10742 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10743 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
10744 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
10745 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
10746 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
10747 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10748 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10749 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10750 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10751 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10752 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10754 if (ndr_flags & NDR_BUFFERS) {
10755 if (r->attribute_name) {
10756 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10757 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10758 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10759 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10761 if (r->object_dn) {
10762 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10763 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10764 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10765 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10768 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
10771 return NDR_ERR_SUCCESS;
10774 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
10776 uint32_t _ptr_attribute_name;
10777 TALLOC_CTX *_mem_save_attribute_name_0;
10778 uint32_t _ptr_object_dn;
10779 TALLOC_CTX *_mem_save_object_dn_0;
10780 uint32_t _ptr_binary;
10781 TALLOC_CTX *_mem_save_binary_0;
10782 if (ndr_flags & NDR_SCALARS) {
10783 NDR_CHECK(ndr_pull_align(ndr, 8));
10784 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10785 if (_ptr_attribute_name) {
10786 NDR_PULL_ALLOC(ndr, r->attribute_name);
10788 r->attribute_name = NULL;
10790 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
10791 if (_ptr_object_dn) {
10792 NDR_PULL_ALLOC(ndr, r->object_dn);
10794 r->object_dn = NULL;
10796 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
10797 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
10799 NDR_PULL_ALLOC(ndr, r->binary);
10803 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
10804 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
10805 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10806 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10807 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10808 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10809 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10810 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10812 if (ndr_flags & NDR_BUFFERS) {
10813 if (r->attribute_name) {
10814 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10815 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10816 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10817 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10818 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10819 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
10821 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10822 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10823 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10825 if (r->object_dn) {
10826 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10827 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
10828 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
10829 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
10830 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
10831 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
10833 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
10834 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
10835 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
10838 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
10839 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
10840 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
10841 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
10844 return NDR_ERR_SUCCESS;
10847 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
10849 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
10851 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10853 if (r->attribute_name) {
10854 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10857 ndr_print_ptr(ndr, "object_dn", r->object_dn);
10859 if (r->object_dn) {
10860 ndr_print_string(ndr, "object_dn", r->object_dn);
10863 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);
10864 ndr_print_ptr(ndr, "binary", r->binary);
10867 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
10870 ndr_print_NTTIME(ndr, "deleted", r->deleted);
10871 ndr_print_NTTIME(ndr, "created", r->created);
10872 ndr_print_uint32(ndr, "version", r->version);
10873 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10874 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10875 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10876 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10880 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10882 uint32_t cntr_array_0;
10883 if (ndr_flags & NDR_SCALARS) {
10884 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10885 NDR_CHECK(ndr_push_align(ndr, 8));
10886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10887 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
10888 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10889 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10891 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10893 if (ndr_flags & NDR_BUFFERS) {
10894 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10895 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10898 return NDR_ERR_SUCCESS;
10901 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10903 uint32_t cntr_array_0;
10904 TALLOC_CTX *_mem_save_array_0;
10905 if (ndr_flags & NDR_SCALARS) {
10906 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10907 NDR_CHECK(ndr_pull_align(ndr, 8));
10908 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10909 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
10910 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10911 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10912 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10913 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10914 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10918 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10920 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10922 if (ndr_flags & NDR_BUFFERS) {
10923 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10924 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10925 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10926 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10928 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10930 return NDR_ERR_SUCCESS;
10933 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10935 uint32_t cntr_array_0;
10936 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
10938 ndr_print_uint32(ndr, "count", r->count);
10939 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
10940 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10942 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10944 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10945 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
10953 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
10955 uint32_t cntr_array_0;
10956 if (ndr_flags & NDR_SCALARS) {
10957 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10958 NDR_CHECK(ndr_push_align(ndr, 8));
10959 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10960 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
10961 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10962 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10964 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10966 if (ndr_flags & NDR_BUFFERS) {
10968 return NDR_ERR_SUCCESS;
10971 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
10973 uint32_t cntr_array_0;
10974 TALLOC_CTX *_mem_save_array_0;
10975 if (ndr_flags & NDR_SCALARS) {
10976 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10977 NDR_CHECK(ndr_pull_align(ndr, 8));
10978 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10979 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
10980 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10981 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10982 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10983 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10984 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10986 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10988 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10990 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10992 if (ndr_flags & NDR_BUFFERS) {
10994 return NDR_ERR_SUCCESS;
10997 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
10999 uint32_t cntr_array_0;
11000 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
11002 ndr_print_uint32(ndr, "count", r->count);
11003 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11004 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11006 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11008 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11009 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
11017 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
11019 if (ndr_flags & NDR_SCALARS) {
11020 NDR_CHECK(ndr_push_align(ndr, 8));
11021 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11022 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11023 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
11024 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11025 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11027 if (ndr_flags & NDR_BUFFERS) {
11028 if (r->source_dsa_obj_dn) {
11029 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11030 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11031 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11032 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));
11035 return NDR_ERR_SUCCESS;
11038 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
11040 uint32_t _ptr_source_dsa_obj_dn;
11041 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
11042 if (ndr_flags & NDR_SCALARS) {
11043 NDR_CHECK(ndr_pull_align(ndr, 8));
11044 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11045 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11046 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
11047 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11048 if (_ptr_source_dsa_obj_dn) {
11049 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11051 r->source_dsa_obj_dn = NULL;
11053 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11055 if (ndr_flags & NDR_BUFFERS) {
11056 if (r->source_dsa_obj_dn) {
11057 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11058 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11059 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11060 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11061 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
11062 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_obj_dn), ndr_get_array_length(ndr, &r->source_dsa_obj_dn));
11064 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
11065 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
11066 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11069 return NDR_ERR_SUCCESS;
11072 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
11074 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
11076 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11077 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11078 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
11079 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11081 if (r->source_dsa_obj_dn) {
11082 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11088 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
11090 uint32_t cntr_array_0;
11091 if (ndr_flags & NDR_SCALARS) {
11092 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11093 NDR_CHECK(ndr_push_align(ndr, 8));
11094 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11095 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11096 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11097 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11099 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11101 if (ndr_flags & NDR_BUFFERS) {
11102 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11103 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11106 return NDR_ERR_SUCCESS;
11109 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
11111 uint32_t cntr_array_0;
11112 TALLOC_CTX *_mem_save_array_0;
11113 if (ndr_flags & NDR_SCALARS) {
11114 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11115 NDR_CHECK(ndr_pull_align(ndr, 8));
11116 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11117 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11118 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11119 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11120 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11121 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11122 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11124 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11126 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11128 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11130 if (ndr_flags & NDR_BUFFERS) {
11131 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11132 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11133 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11134 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11136 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11138 return NDR_ERR_SUCCESS;
11141 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
11143 uint32_t cntr_array_0;
11144 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
11146 ndr_print_uint32(ndr, "count", r->count);
11147 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11148 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11150 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11152 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11153 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
11161 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
11163 if (ndr_flags & NDR_SCALARS) {
11164 NDR_CHECK(ndr_push_align(ndr, 8));
11165 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11166 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11167 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11168 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11169 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11170 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11171 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11172 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11174 if (ndr_flags & NDR_BUFFERS) {
11175 if (r->attribute_name) {
11176 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11177 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11178 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11179 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11181 if (r->originating_dsa_dn) {
11182 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11183 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11184 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11185 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));
11188 return NDR_ERR_SUCCESS;
11191 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
11193 uint32_t _ptr_attribute_name;
11194 TALLOC_CTX *_mem_save_attribute_name_0;
11195 uint32_t _ptr_originating_dsa_dn;
11196 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11197 if (ndr_flags & NDR_SCALARS) {
11198 NDR_CHECK(ndr_pull_align(ndr, 8));
11199 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11200 if (_ptr_attribute_name) {
11201 NDR_PULL_ALLOC(ndr, r->attribute_name);
11203 r->attribute_name = NULL;
11205 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11206 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11207 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11208 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11209 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11210 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11211 if (_ptr_originating_dsa_dn) {
11212 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11214 r->originating_dsa_dn = NULL;
11216 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11218 if (ndr_flags & NDR_BUFFERS) {
11219 if (r->attribute_name) {
11220 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11221 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11222 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11223 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11224 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11225 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
11227 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11228 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11229 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11231 if (r->originating_dsa_dn) {
11232 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11233 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11234 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11235 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11236 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11237 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->originating_dsa_dn), ndr_get_array_length(ndr, &r->originating_dsa_dn));
11239 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11240 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t), CH_UTF16));
11241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11244 return NDR_ERR_SUCCESS;
11247 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
11249 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
11251 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11253 if (r->attribute_name) {
11254 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11257 ndr_print_uint32(ndr, "version", r->version);
11258 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11259 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11260 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11261 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11262 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11264 if (r->originating_dsa_dn) {
11265 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11271 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11273 uint32_t cntr_array_0;
11274 if (ndr_flags & NDR_SCALARS) {
11275 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11276 NDR_CHECK(ndr_push_align(ndr, 8));
11277 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11278 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11279 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11280 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11282 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11284 if (ndr_flags & NDR_BUFFERS) {
11285 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11286 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11289 return NDR_ERR_SUCCESS;
11292 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11294 uint32_t cntr_array_0;
11295 TALLOC_CTX *_mem_save_array_0;
11296 if (ndr_flags & NDR_SCALARS) {
11297 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11298 NDR_CHECK(ndr_pull_align(ndr, 8));
11299 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11300 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11301 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11302 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11303 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11304 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11305 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11309 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11311 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11313 if (ndr_flags & NDR_BUFFERS) {
11314 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11315 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11316 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11317 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11319 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11321 return NDR_ERR_SUCCESS;
11324 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11326 uint32_t cntr_array_0;
11327 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
11329 ndr_print_uint32(ndr, "count", r->count);
11330 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11331 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11333 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11335 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11336 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
11344 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11346 if (ndr_flags & NDR_SCALARS) {
11347 NDR_CHECK(ndr_push_align(ndr, 8));
11348 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11349 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11350 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11351 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11352 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11353 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11354 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11355 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11356 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11357 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11358 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11359 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11360 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11362 if (ndr_flags & NDR_BUFFERS) {
11363 if (r->attribute_name) {
11364 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11365 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11366 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11367 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11369 if (r->object_dn) {
11370 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11371 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11372 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11373 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11376 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11378 if (r->originating_dsa_dn) {
11379 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11380 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11381 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11382 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));
11385 return NDR_ERR_SUCCESS;
11388 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
11390 uint32_t _ptr_attribute_name;
11391 TALLOC_CTX *_mem_save_attribute_name_0;
11392 uint32_t _ptr_object_dn;
11393 TALLOC_CTX *_mem_save_object_dn_0;
11394 uint32_t _ptr_binary;
11395 TALLOC_CTX *_mem_save_binary_0;
11396 uint32_t _ptr_originating_dsa_dn;
11397 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11398 if (ndr_flags & NDR_SCALARS) {
11399 NDR_CHECK(ndr_pull_align(ndr, 8));
11400 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11401 if (_ptr_attribute_name) {
11402 NDR_PULL_ALLOC(ndr, r->attribute_name);
11404 r->attribute_name = NULL;
11406 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11407 if (_ptr_object_dn) {
11408 NDR_PULL_ALLOC(ndr, r->object_dn);
11410 r->object_dn = NULL;
11412 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11413 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11415 NDR_PULL_ALLOC(ndr, r->binary);
11419 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11420 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11421 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11422 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11423 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11424 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11425 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11426 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11427 if (_ptr_originating_dsa_dn) {
11428 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11430 r->originating_dsa_dn = NULL;
11432 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11434 if (ndr_flags & NDR_BUFFERS) {
11435 if (r->attribute_name) {
11436 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11437 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11438 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11439 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11440 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11441 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
11443 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11444 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11445 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11447 if (r->object_dn) {
11448 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11449 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11450 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11451 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11452 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11453 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
11455 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11456 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11457 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11460 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11461 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11462 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11465 if (r->originating_dsa_dn) {
11466 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11467 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11468 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11469 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11470 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11471 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->originating_dsa_dn), ndr_get_array_length(ndr, &r->originating_dsa_dn));
11473 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11474 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t), CH_UTF16));
11475 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11478 return NDR_ERR_SUCCESS;
11481 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11483 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
11485 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11487 if (r->attribute_name) {
11488 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11491 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11493 if (r->object_dn) {
11494 ndr_print_string(ndr, "object_dn", r->object_dn);
11497 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);
11498 ndr_print_ptr(ndr, "binary", r->binary);
11501 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11504 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11505 ndr_print_NTTIME(ndr, "created", r->created);
11506 ndr_print_uint32(ndr, "version", r->version);
11507 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11508 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11509 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11510 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11511 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11513 if (r->originating_dsa_dn) {
11514 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11520 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11522 uint32_t cntr_array_0;
11523 if (ndr_flags & NDR_SCALARS) {
11524 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11525 NDR_CHECK(ndr_push_align(ndr, 8));
11526 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11527 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
11528 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11529 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11531 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11533 if (ndr_flags & NDR_BUFFERS) {
11534 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11535 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11538 return NDR_ERR_SUCCESS;
11541 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11543 uint32_t cntr_array_0;
11544 TALLOC_CTX *_mem_save_array_0;
11545 if (ndr_flags & NDR_SCALARS) {
11546 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11547 NDR_CHECK(ndr_pull_align(ndr, 8));
11548 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11549 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
11550 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11551 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11552 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11553 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11554 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11556 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11558 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11560 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11562 if (ndr_flags & NDR_BUFFERS) {
11563 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11564 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11565 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11566 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11568 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11570 return NDR_ERR_SUCCESS;
11573 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11575 uint32_t cntr_array_0;
11576 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11578 ndr_print_uint32(ndr, "count", r->count);
11579 ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
11580 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11582 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11584 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11585 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
11593 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
11595 if (ndr_flags & NDR_SCALARS) {
11596 NDR_CHECK(ndr_push_align(ndr, 8));
11597 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
11598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11599 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11600 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11601 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
11603 uint32_t _flags_save_ipv4address = ndr->flags;
11604 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11605 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
11606 ndr->flags = _flags_save_ipv4address;
11608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11609 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11611 if (ndr_flags & NDR_BUFFERS) {
11613 return NDR_ERR_SUCCESS;
11616 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
11618 if (ndr_flags & NDR_SCALARS) {
11619 NDR_CHECK(ndr_pull_align(ndr, 8));
11620 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
11621 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11622 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11623 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11624 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
11626 uint32_t _flags_save_ipv4address = ndr->flags;
11627 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11628 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
11629 ndr->flags = _flags_save_ipv4address;
11631 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11632 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11634 if (ndr_flags & NDR_BUFFERS) {
11636 return NDR_ERR_SUCCESS;
11639 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
11641 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
11643 ndr_print_hyper(ndr, "u1", r->u1);
11644 ndr_print_uint32(ndr, "u2", r->u2);
11645 ndr_print_uint32(ndr, "u3", r->u3);
11646 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
11647 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
11648 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
11649 ndr_print_uint32(ndr, "u5", r->u5);
11653 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
11655 uint32_t cntr_array_0;
11656 if (ndr_flags & NDR_SCALARS) {
11657 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11658 NDR_CHECK(ndr_push_align(ndr, 8));
11659 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11660 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11661 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11662 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11664 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11666 if (ndr_flags & NDR_BUFFERS) {
11668 return NDR_ERR_SUCCESS;
11671 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
11673 uint32_t cntr_array_0;
11674 TALLOC_CTX *_mem_save_array_0;
11675 if (ndr_flags & NDR_SCALARS) {
11676 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11677 NDR_CHECK(ndr_pull_align(ndr, 8));
11678 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11679 if (r->count > 10000) {
11680 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11682 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11683 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11684 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11685 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11686 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11687 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11691 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11693 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11695 if (ndr_flags & NDR_BUFFERS) {
11697 return NDR_ERR_SUCCESS;
11700 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
11702 uint32_t cntr_array_0;
11703 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
11705 ndr_print_uint32(ndr, "count", r->count);
11706 ndr_print_uint32(ndr, "reserved", r->reserved);
11707 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11709 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11711 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11712 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
11720 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
11722 if (ndr_flags & NDR_SCALARS) {
11723 NDR_CHECK(ndr_push_align(ndr, 8));
11724 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
11725 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
11726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11728 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
11729 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11730 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
11731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
11732 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11734 if (ndr_flags & NDR_BUFFERS) {
11736 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11737 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11738 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11739 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11742 return NDR_ERR_SUCCESS;
11745 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
11747 uint32_t _ptr_str1;
11748 TALLOC_CTX *_mem_save_str1_0;
11749 if (ndr_flags & NDR_SCALARS) {
11750 NDR_CHECK(ndr_pull_align(ndr, 8));
11751 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
11753 NDR_PULL_ALLOC(ndr, r->str1);
11757 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
11758 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11759 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11760 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
11761 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11762 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
11763 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
11764 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11766 if (ndr_flags & NDR_BUFFERS) {
11768 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
11769 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
11770 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
11771 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
11772 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
11773 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->str1), ndr_get_array_length(ndr, &r->str1));
11775 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
11776 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
11777 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
11780 return NDR_ERR_SUCCESS;
11783 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
11785 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
11787 ndr_print_ptr(ndr, "str1", r->str1);
11790 ndr_print_string(ndr, "str1", r->str1);
11793 ndr_print_uint32(ndr, "u1", r->u1);
11794 ndr_print_uint32(ndr, "u2", r->u2);
11795 ndr_print_uint32(ndr, "u3", r->u3);
11796 ndr_print_uint32(ndr, "u4", r->u4);
11797 ndr_print_uint32(ndr, "u5", r->u5);
11798 ndr_print_hyper(ndr, "u6", r->u6);
11799 ndr_print_uint32(ndr, "u7", r->u7);
11803 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
11805 uint32_t cntr_array_0;
11806 if (ndr_flags & NDR_SCALARS) {
11807 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11808 NDR_CHECK(ndr_push_align(ndr, 8));
11809 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11810 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11811 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11812 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11814 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11816 if (ndr_flags & NDR_BUFFERS) {
11817 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11818 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11821 return NDR_ERR_SUCCESS;
11824 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
11826 uint32_t cntr_array_0;
11827 TALLOC_CTX *_mem_save_array_0;
11828 if (ndr_flags & NDR_SCALARS) {
11829 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11830 NDR_CHECK(ndr_pull_align(ndr, 8));
11831 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11832 if (r->count > 256) {
11833 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11835 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11836 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11837 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11838 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11839 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11840 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11842 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11844 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11846 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11848 if (ndr_flags & NDR_BUFFERS) {
11849 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11850 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11851 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11852 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11854 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11856 return NDR_ERR_SUCCESS;
11859 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
11861 uint32_t cntr_array_0;
11862 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
11864 ndr_print_uint32(ndr, "count", r->count);
11865 ndr_print_uint32(ndr, "reserved", r->reserved);
11866 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11868 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11870 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11871 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
11879 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
11881 if (ndr_flags & NDR_SCALARS) {
11882 int level = ndr_push_get_switch_value(ndr, r);
11883 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
11884 NDR_CHECK(ndr_push_union_align(ndr, 5));
11886 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
11887 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
11890 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
11891 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
11894 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
11895 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
11898 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
11899 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
11902 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
11903 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
11906 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
11907 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
11910 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
11911 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
11914 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
11915 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
11918 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
11919 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
11922 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
11923 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
11926 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
11927 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
11930 case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
11931 NDR_CHECK(ndr_push_unique_ptr(ndr, r->repsto));
11934 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
11935 NDR_CHECK(ndr_push_unique_ptr(ndr, r->clientctx));
11938 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
11939 NDR_CHECK(ndr_push_unique_ptr(ndr, r->udv1));
11942 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
11943 NDR_CHECK(ndr_push_unique_ptr(ndr, r->srvoutgoingcalls));
11947 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11950 if (ndr_flags & NDR_BUFFERS) {
11951 int level = ndr_push_get_switch_value(ndr, r);
11953 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
11954 if (r->neighbours) {
11955 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
11959 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
11961 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
11965 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
11966 if (r->objmetadata) {
11967 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
11971 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
11972 if (r->connectfailures) {
11973 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
11977 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
11978 if (r->linkfailures) {
11979 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
11983 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
11984 if (r->pendingops) {
11985 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
11989 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
11990 if (r->attrvalmetadata) {
11991 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
11995 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
11997 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12001 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12003 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12007 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12008 if (r->objmetadata2) {
12009 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12013 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12014 if (r->attrvalmetadata2) {
12015 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12019 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
12021 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
12025 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
12026 if (r->clientctx) {
12027 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
12031 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
12033 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
12037 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
12038 if (r->srvoutgoingcalls) {
12039 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
12044 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12047 return NDR_ERR_SUCCESS;
12050 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
12054 TALLOC_CTX *_mem_save_neighbours_0;
12055 TALLOC_CTX *_mem_save_cursors_0;
12056 TALLOC_CTX *_mem_save_objmetadata_0;
12057 TALLOC_CTX *_mem_save_connectfailures_0;
12058 TALLOC_CTX *_mem_save_linkfailures_0;
12059 TALLOC_CTX *_mem_save_pendingops_0;
12060 TALLOC_CTX *_mem_save_attrvalmetadata_0;
12061 TALLOC_CTX *_mem_save_cursors2_0;
12062 TALLOC_CTX *_mem_save_cursors3_0;
12063 TALLOC_CTX *_mem_save_objmetadata2_0;
12064 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
12065 TALLOC_CTX *_mem_save_repsto_0;
12066 TALLOC_CTX *_mem_save_clientctx_0;
12067 TALLOC_CTX *_mem_save_udv1_0;
12068 TALLOC_CTX *_mem_save_srvoutgoingcalls_0;
12069 level = ndr_pull_get_switch_value(ndr, r);
12070 if (ndr_flags & NDR_SCALARS) {
12071 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12072 if (_level != level) {
12073 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12075 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12077 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12078 uint32_t _ptr_neighbours;
12079 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
12080 if (_ptr_neighbours) {
12081 NDR_PULL_ALLOC(ndr, r->neighbours);
12083 r->neighbours = NULL;
12087 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12088 uint32_t _ptr_cursors;
12089 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
12090 if (_ptr_cursors) {
12091 NDR_PULL_ALLOC(ndr, r->cursors);
12097 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12098 uint32_t _ptr_objmetadata;
12099 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
12100 if (_ptr_objmetadata) {
12101 NDR_PULL_ALLOC(ndr, r->objmetadata);
12103 r->objmetadata = NULL;
12107 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12108 uint32_t _ptr_connectfailures;
12109 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
12110 if (_ptr_connectfailures) {
12111 NDR_PULL_ALLOC(ndr, r->connectfailures);
12113 r->connectfailures = NULL;
12117 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12118 uint32_t _ptr_linkfailures;
12119 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
12120 if (_ptr_linkfailures) {
12121 NDR_PULL_ALLOC(ndr, r->linkfailures);
12123 r->linkfailures = NULL;
12127 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12128 uint32_t _ptr_pendingops;
12129 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
12130 if (_ptr_pendingops) {
12131 NDR_PULL_ALLOC(ndr, r->pendingops);
12133 r->pendingops = NULL;
12137 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12138 uint32_t _ptr_attrvalmetadata;
12139 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
12140 if (_ptr_attrvalmetadata) {
12141 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
12143 r->attrvalmetadata = NULL;
12147 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12148 uint32_t _ptr_cursors2;
12149 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
12150 if (_ptr_cursors2) {
12151 NDR_PULL_ALLOC(ndr, r->cursors2);
12153 r->cursors2 = NULL;
12157 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12158 uint32_t _ptr_cursors3;
12159 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
12160 if (_ptr_cursors3) {
12161 NDR_PULL_ALLOC(ndr, r->cursors3);
12163 r->cursors3 = NULL;
12167 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12168 uint32_t _ptr_objmetadata2;
12169 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
12170 if (_ptr_objmetadata2) {
12171 NDR_PULL_ALLOC(ndr, r->objmetadata2);
12173 r->objmetadata2 = NULL;
12177 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12178 uint32_t _ptr_attrvalmetadata2;
12179 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
12180 if (_ptr_attrvalmetadata2) {
12181 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
12183 r->attrvalmetadata2 = NULL;
12187 case DRSUAPI_DS_REPLICA_INFO_REPSTO: {
12188 uint32_t _ptr_repsto;
12189 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_repsto));
12191 NDR_PULL_ALLOC(ndr, r->repsto);
12197 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: {
12198 uint32_t _ptr_clientctx;
12199 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_clientctx));
12200 if (_ptr_clientctx) {
12201 NDR_PULL_ALLOC(ndr, r->clientctx);
12203 r->clientctx = NULL;
12207 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: {
12208 uint32_t _ptr_udv1;
12209 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_udv1));
12211 NDR_PULL_ALLOC(ndr, r->udv1);
12217 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: {
12218 uint32_t _ptr_srvoutgoingcalls;
12219 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_srvoutgoingcalls));
12220 if (_ptr_srvoutgoingcalls) {
12221 NDR_PULL_ALLOC(ndr, r->srvoutgoingcalls);
12223 r->srvoutgoingcalls = NULL;
12228 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12231 if (ndr_flags & NDR_BUFFERS) {
12233 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12234 if (r->neighbours) {
12235 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
12236 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
12237 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12238 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
12242 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12244 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
12245 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
12246 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12247 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
12251 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12252 if (r->objmetadata) {
12253 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12254 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
12255 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12256 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
12260 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12261 if (r->connectfailures) {
12262 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12263 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
12264 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12265 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
12269 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12270 if (r->linkfailures) {
12271 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12272 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
12273 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12274 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
12278 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12279 if (r->pendingops) {
12280 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
12281 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
12282 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12283 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
12287 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12288 if (r->attrvalmetadata) {
12289 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12290 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
12291 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12292 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
12296 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12298 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12299 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
12300 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12301 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
12305 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12307 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12308 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
12309 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
12314 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12315 if (r->objmetadata2) {
12316 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12317 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
12318 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12319 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
12323 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12324 if (r->attrvalmetadata2) {
12325 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12326 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
12327 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12328 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
12332 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
12334 _mem_save_repsto_0 = NDR_PULL_GET_MEM_CTX(ndr);
12335 NDR_PULL_SET_MEM_CTX(ndr, r->repsto, 0);
12336 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto));
12337 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_repsto_0, 0);
12341 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
12342 if (r->clientctx) {
12343 _mem_save_clientctx_0 = NDR_PULL_GET_MEM_CTX(ndr);
12344 NDR_PULL_SET_MEM_CTX(ndr, r->clientctx, 0);
12345 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx));
12346 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_clientctx_0, 0);
12350 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
12352 _mem_save_udv1_0 = NDR_PULL_GET_MEM_CTX(ndr);
12353 NDR_PULL_SET_MEM_CTX(ndr, r->udv1, 0);
12354 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1));
12355 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_udv1_0, 0);
12359 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
12360 if (r->srvoutgoingcalls) {
12361 _mem_save_srvoutgoingcalls_0 = NDR_PULL_GET_MEM_CTX(ndr);
12362 NDR_PULL_SET_MEM_CTX(ndr, r->srvoutgoingcalls, 0);
12363 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls));
12364 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_srvoutgoingcalls_0, 0);
12369 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12372 return NDR_ERR_SUCCESS;
12375 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
12378 level = ndr_print_get_switch_value(ndr, r);
12379 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
12381 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12382 ndr_print_ptr(ndr, "neighbours", r->neighbours);
12384 if (r->neighbours) {
12385 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
12390 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12391 ndr_print_ptr(ndr, "cursors", r->cursors);
12394 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
12399 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12400 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
12402 if (r->objmetadata) {
12403 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
12408 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12409 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
12411 if (r->connectfailures) {
12412 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
12417 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12418 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
12420 if (r->linkfailures) {
12421 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
12426 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12427 ndr_print_ptr(ndr, "pendingops", r->pendingops);
12429 if (r->pendingops) {
12430 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
12435 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12436 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
12438 if (r->attrvalmetadata) {
12439 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
12444 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12445 ndr_print_ptr(ndr, "cursors2", r->cursors2);
12448 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
12453 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12454 ndr_print_ptr(ndr, "cursors3", r->cursors3);
12457 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
12462 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12463 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
12465 if (r->objmetadata2) {
12466 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
12471 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12472 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12474 if (r->attrvalmetadata2) {
12475 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12480 case DRSUAPI_DS_REPLICA_INFO_REPSTO:
12481 ndr_print_ptr(ndr, "repsto", r->repsto);
12484 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "repsto", r->repsto);
12489 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS:
12490 ndr_print_ptr(ndr, "clientctx", r->clientctx);
12492 if (r->clientctx) {
12493 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "clientctx", r->clientctx);
12498 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1:
12499 ndr_print_ptr(ndr, "udv1", r->udv1);
12502 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "udv1", r->udv1);
12507 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS:
12508 ndr_print_ptr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
12510 if (r->srvoutgoingcalls) {
12511 ndr_print_drsuapi_DsReplica06Ctr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls);
12517 ndr_print_bad_level(ndr, name, level);
12521 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
12523 if (ndr_flags & NDR_SCALARS) {
12524 int level = ndr_push_get_switch_value(ndr, r);
12525 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
12526 NDR_CHECK(ndr_push_union_align(ndr, 5));
12529 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12533 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12536 if (ndr_flags & NDR_BUFFERS) {
12537 int level = ndr_push_get_switch_value(ndr, r);
12540 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12544 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12547 return NDR_ERR_SUCCESS;
12550 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
12554 level = ndr_pull_get_switch_value(ndr, r);
12555 if (ndr_flags & NDR_SCALARS) {
12556 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12557 if (_level != level) {
12558 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12560 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12563 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12567 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12570 if (ndr_flags & NDR_BUFFERS) {
12573 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12577 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12580 return NDR_ERR_SUCCESS;
12583 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
12586 level = ndr_print_get_switch_value(ndr, r);
12587 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
12590 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
12594 ndr_print_bad_level(ndr, name, level);
12598 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
12600 uint32_t cntr_req_array_1;
12601 if (ndr_flags & NDR_SCALARS) {
12602 NDR_CHECK(ndr_push_align(ndr, 5));
12603 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12604 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
12605 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12607 if (ndr_flags & NDR_BUFFERS) {
12608 if (r->req_array) {
12609 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
12610 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12611 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
12613 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12614 if (r->req_array[cntr_req_array_1]) {
12615 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12620 return NDR_ERR_SUCCESS;
12623 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
12625 uint32_t _ptr_req_array;
12626 uint32_t cntr_req_array_1;
12627 TALLOC_CTX *_mem_save_req_array_0;
12628 TALLOC_CTX *_mem_save_req_array_1;
12629 TALLOC_CTX *_mem_save_req_array_2;
12630 if (ndr_flags & NDR_SCALARS) {
12631 NDR_CHECK(ndr_pull_align(ndr, 5));
12632 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12633 if (r->num_req < 1 || r->num_req > 10000) {
12634 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12636 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12637 if (_ptr_req_array) {
12638 NDR_PULL_ALLOC(ndr, r->req_array);
12640 r->req_array = NULL;
12642 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12644 if (ndr_flags & NDR_BUFFERS) {
12645 if (r->req_array) {
12646 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12647 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12648 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
12649 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
12650 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12651 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12652 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12653 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12654 if (_ptr_req_array) {
12655 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
12657 r->req_array[cntr_req_array_1] = NULL;
12660 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12661 if (r->req_array[cntr_req_array_1]) {
12662 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
12663 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
12664 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12665 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
12668 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
12669 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
12671 if (r->req_array) {
12672 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
12675 return NDR_ERR_SUCCESS;
12678 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
12680 uint32_t cntr_req_array_1;
12681 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
12683 ndr_print_uint32(ndr, "num_req", r->num_req);
12684 ndr_print_ptr(ndr, "req_array", r->req_array);
12686 if (r->req_array) {
12687 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
12689 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
12691 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
12692 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
12694 if (r->req_array[cntr_req_array_1]) {
12695 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
12707 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
12709 if (ndr_flags & NDR_SCALARS) {
12710 int level = ndr_push_get_switch_value(ndr, r);
12711 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
12712 NDR_CHECK(ndr_push_union_align(ndr, 5));
12715 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12719 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12722 if (ndr_flags & NDR_BUFFERS) {
12723 int level = ndr_push_get_switch_value(ndr, r);
12726 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12730 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12733 return NDR_ERR_SUCCESS;
12736 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
12740 level = ndr_pull_get_switch_value(ndr, r);
12741 if (ndr_flags & NDR_SCALARS) {
12742 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12743 if (_level != level) {
12744 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12746 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12749 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12753 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12756 if (ndr_flags & NDR_BUFFERS) {
12759 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12763 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12766 return NDR_ERR_SUCCESS;
12769 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
12772 level = ndr_print_get_switch_value(ndr, r);
12773 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
12776 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
12780 ndr_print_bad_level(ndr, name, level);
12784 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
12786 if (ndr_flags & NDR_SCALARS) {
12787 NDR_CHECK(ndr_push_align(ndr, 4));
12788 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
12789 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
12790 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
12792 if (ndr_flags & NDR_BUFFERS) {
12794 return NDR_ERR_SUCCESS;
12797 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
12799 if (ndr_flags & NDR_SCALARS) {
12800 NDR_CHECK(ndr_pull_align(ndr, 4));
12801 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
12802 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
12803 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
12805 if (ndr_flags & NDR_BUFFERS) {
12807 return NDR_ERR_SUCCESS;
12810 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
12812 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
12814 ndr_print_WERROR(ndr, "error_code", r->error_code);
12815 ndr_print_uint32(ndr, "site_cost", r->site_cost);
12819 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
12821 uint32_t cntr_info_1;
12822 if (ndr_flags & NDR_SCALARS) {
12823 NDR_CHECK(ndr_push_align(ndr, 5));
12824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
12825 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
12826 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12827 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12829 if (ndr_flags & NDR_BUFFERS) {
12831 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
12832 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
12833 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12837 return NDR_ERR_SUCCESS;
12840 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
12842 uint32_t _ptr_info;
12843 uint32_t cntr_info_1;
12844 TALLOC_CTX *_mem_save_info_0;
12845 TALLOC_CTX *_mem_save_info_1;
12846 if (ndr_flags & NDR_SCALARS) {
12847 NDR_CHECK(ndr_pull_align(ndr, 5));
12848 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
12849 if (r->num_info > 10000) {
12850 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12852 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12854 NDR_PULL_ALLOC(ndr, r->info);
12858 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags_reserved));
12859 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12861 if (ndr_flags & NDR_BUFFERS) {
12863 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12864 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12865 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
12866 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
12867 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12868 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12869 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
12870 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12873 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12876 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
12879 return NDR_ERR_SUCCESS;
12882 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
12884 uint32_t cntr_info_1;
12885 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
12887 ndr_print_uint32(ndr, "num_info", r->num_info);
12888 ndr_print_ptr(ndr, "info", r->info);
12891 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
12893 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
12895 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
12896 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
12903 ndr_print_uint32(ndr, "flags_reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags_reserved);
12907 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
12909 if (ndr_flags & NDR_SCALARS) {
12910 int level = ndr_push_get_switch_value(ndr, r);
12911 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
12912 NDR_CHECK(ndr_push_union_align(ndr, 5));
12915 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12919 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12922 if (ndr_flags & NDR_BUFFERS) {
12923 int level = ndr_push_get_switch_value(ndr, r);
12926 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12930 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12933 return NDR_ERR_SUCCESS;
12936 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
12940 level = ndr_pull_get_switch_value(ndr, r);
12941 if (ndr_flags & NDR_SCALARS) {
12942 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12943 if (_level != level) {
12944 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12946 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12949 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12953 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12956 if (ndr_flags & NDR_BUFFERS) {
12959 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12963 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12966 return NDR_ERR_SUCCESS;
12969 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
12972 level = ndr_print_get_switch_value(ndr, r);
12973 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
12976 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
12980 ndr_print_bad_level(ndr, name, level);
12984 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
12986 uint32_t cntr_site_to_1;
12987 if (ndr_flags & NDR_SCALARS) {
12988 NDR_CHECK(ndr_push_align(ndr, 5));
12989 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
12990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12991 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
12992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
12993 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12995 if (ndr_flags & NDR_BUFFERS) {
12996 if (r->site_from) {
12997 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
12998 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12999 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13000 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13003 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13004 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13005 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
13007 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13008 if (r->site_to[cntr_site_to_1]) {
13009 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13010 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13011 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13012 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));
13017 return NDR_ERR_SUCCESS;
13020 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
13022 uint32_t _ptr_site_from;
13023 TALLOC_CTX *_mem_save_site_from_0;
13024 uint32_t _ptr_site_to;
13025 uint32_t cntr_site_to_1;
13026 TALLOC_CTX *_mem_save_site_to_0;
13027 TALLOC_CTX *_mem_save_site_to_1;
13028 TALLOC_CTX *_mem_save_site_to_2;
13029 if (ndr_flags & NDR_SCALARS) {
13030 NDR_CHECK(ndr_pull_align(ndr, 5));
13031 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
13032 if (_ptr_site_from) {
13033 NDR_PULL_ALLOC(ndr, r->site_from);
13035 r->site_from = NULL;
13037 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13038 if (r->num_req < 1 || r->num_req > 10000) {
13039 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13041 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13042 if (_ptr_site_to) {
13043 NDR_PULL_ALLOC(ndr, r->site_to);
13047 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
13048 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13050 if (ndr_flags & NDR_BUFFERS) {
13051 if (r->site_from) {
13052 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
13053 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
13054 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
13055 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
13056 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
13057 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_from), ndr_get_array_length(ndr, &r->site_from));
13059 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
13060 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
13061 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
13064 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
13065 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13066 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
13067 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
13068 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
13069 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13070 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13071 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13072 if (_ptr_site_to) {
13073 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
13075 r->site_to[cntr_site_to_1] = NULL;
13078 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13079 if (r->site_to[cntr_site_to_1]) {
13080 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
13081 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
13082 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
13083 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
13084 if (ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]) > ndr_get_array_size(ndr, &r->site_to[cntr_site_to_1])) {
13085 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_to[cntr_site_to_1]), ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]));
13087 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
13088 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_to[cntr_site_to_1], ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t), CH_UTF16));
13089 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
13092 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
13093 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
13096 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
13099 return NDR_ERR_SUCCESS;
13102 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
13104 uint32_t cntr_site_to_1;
13105 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
13107 ndr_print_ptr(ndr, "site_from", r->site_from);
13109 if (r->site_from) {
13110 ndr_print_string(ndr, "site_from", r->site_from);
13113 ndr_print_uint32(ndr, "num_req", r->num_req);
13114 ndr_print_ptr(ndr, "site_to", r->site_to);
13117 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
13119 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
13121 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
13122 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
13124 if (r->site_to[cntr_site_to_1]) {
13125 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
13134 ndr_print_uint32(ndr, "flags", r->flags);
13138 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
13140 if (ndr_flags & NDR_SCALARS) {
13141 int level = ndr_push_get_switch_value(ndr, r);
13142 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
13143 NDR_CHECK(ndr_push_union_align(ndr, 5));
13146 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13150 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13153 if (ndr_flags & NDR_BUFFERS) {
13154 int level = ndr_push_get_switch_value(ndr, r);
13157 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13161 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13164 return NDR_ERR_SUCCESS;
13167 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
13171 level = ndr_pull_get_switch_value(ndr, r);
13172 if (ndr_flags & NDR_SCALARS) {
13173 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
13174 if (_level != level) {
13175 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13177 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13180 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13184 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13187 if (ndr_flags & NDR_BUFFERS) {
13190 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13194 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13197 return NDR_ERR_SUCCESS;
13200 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
13203 level = ndr_print_get_switch_value(ndr, r);
13204 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
13207 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
13211 ndr_print_bad_level(ndr, name, level);
13215 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
13217 if (flags & NDR_IN) {
13218 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
13219 if (r->in.bind_guid) {
13220 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13222 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
13223 if (r->in.bind_info) {
13224 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13227 if (flags & NDR_OUT) {
13228 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
13229 if (r->out.bind_info) {
13230 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13232 if (r->out.bind_handle == NULL) {
13233 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13235 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13236 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13238 return NDR_ERR_SUCCESS;
13241 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
13243 uint32_t _ptr_bind_guid;
13244 uint32_t _ptr_bind_info;
13245 TALLOC_CTX *_mem_save_bind_guid_0;
13246 TALLOC_CTX *_mem_save_bind_info_0;
13247 TALLOC_CTX *_mem_save_bind_handle_0;
13248 if (flags & NDR_IN) {
13249 ZERO_STRUCT(r->out);
13251 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
13252 if (_ptr_bind_guid) {
13253 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
13255 r->in.bind_guid = NULL;
13257 if (r->in.bind_guid) {
13258 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13259 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
13260 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13261 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
13263 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13264 if (_ptr_bind_info) {
13265 NDR_PULL_ALLOC(ndr, r->in.bind_info);
13267 r->in.bind_info = NULL;
13269 if (r->in.bind_info) {
13270 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13271 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
13272 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13275 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13276 ZERO_STRUCTP(r->out.bind_handle);
13278 if (flags & NDR_OUT) {
13279 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13280 if (_ptr_bind_info) {
13281 NDR_PULL_ALLOC(ndr, r->out.bind_info);
13283 r->out.bind_info = NULL;
13285 if (r->out.bind_info) {
13286 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13287 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
13288 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13289 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13291 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13292 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13294 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13295 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13296 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13298 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13300 return NDR_ERR_SUCCESS;
13303 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
13305 ndr_print_struct(ndr, name, "drsuapi_DsBind");
13307 if (flags & NDR_SET_VALUES) {
13308 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13310 if (flags & NDR_IN) {
13311 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
13313 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
13315 if (r->in.bind_guid) {
13316 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
13319 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
13321 if (r->in.bind_info) {
13322 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
13327 if (flags & NDR_OUT) {
13328 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
13330 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
13332 if (r->out.bind_info) {
13333 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
13336 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13338 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13340 ndr_print_WERROR(ndr, "result", r->out.result);
13346 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
13348 if (flags & NDR_IN) {
13349 if (r->in.bind_handle == NULL) {
13350 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13352 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13354 if (flags & NDR_OUT) {
13355 if (r->out.bind_handle == NULL) {
13356 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13358 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13359 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13361 return NDR_ERR_SUCCESS;
13364 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
13366 TALLOC_CTX *_mem_save_bind_handle_0;
13367 if (flags & NDR_IN) {
13368 ZERO_STRUCT(r->out);
13370 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13371 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13373 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13374 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13375 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13376 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13377 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13378 *r->out.bind_handle = *r->in.bind_handle;
13380 if (flags & NDR_OUT) {
13381 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13382 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13384 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13385 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13386 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13388 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13390 return NDR_ERR_SUCCESS;
13393 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
13395 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
13397 if (flags & NDR_SET_VALUES) {
13398 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13400 if (flags & NDR_IN) {
13401 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
13403 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13405 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13409 if (flags & NDR_OUT) {
13410 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
13412 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13414 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13416 ndr_print_WERROR(ndr, "result", r->out.result);
13422 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
13424 if (flags & NDR_IN) {
13425 if (r->in.bind_handle == NULL) {
13426 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13428 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13430 if (r->in.req == NULL) {
13431 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13433 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13434 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13436 if (flags & NDR_OUT) {
13437 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13439 return NDR_ERR_SUCCESS;
13442 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
13444 TALLOC_CTX *_mem_save_bind_handle_0;
13445 TALLOC_CTX *_mem_save_req_0;
13446 if (flags & NDR_IN) {
13447 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13448 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13450 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13451 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13452 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13453 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13454 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13455 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13456 NDR_PULL_ALLOC(ndr, r->in.req);
13458 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13459 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13460 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13461 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13464 if (flags & NDR_OUT) {
13465 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13467 return NDR_ERR_SUCCESS;
13470 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
13472 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
13474 if (flags & NDR_SET_VALUES) {
13475 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13477 if (flags & NDR_IN) {
13478 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
13480 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13482 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13484 ndr_print_uint32(ndr, "level", r->in.level);
13485 ndr_print_ptr(ndr, "req", r->in.req);
13487 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13488 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", r->in.req);
13492 if (flags & NDR_OUT) {
13493 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
13495 ndr_print_WERROR(ndr, "result", r->out.result);
13501 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
13503 if (flags & NDR_IN) {
13504 if (r->in.bind_handle == NULL) {
13505 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13507 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13508 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13509 if (r->in.req == NULL) {
13510 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13512 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13513 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13515 if (flags & NDR_OUT) {
13516 if (r->out.level_out == NULL) {
13517 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
13520 if (r->out.ctr == NULL) {
13521 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13523 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13524 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13525 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13527 return NDR_ERR_SUCCESS;
13530 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
13532 TALLOC_CTX *_mem_save_bind_handle_0;
13533 TALLOC_CTX *_mem_save_req_0;
13534 TALLOC_CTX *_mem_save_level_out_0;
13535 TALLOC_CTX *_mem_save_ctr_0;
13536 if (flags & NDR_IN) {
13537 ZERO_STRUCT(r->out);
13539 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13540 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13542 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13543 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13544 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13545 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13546 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13547 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13548 NDR_PULL_ALLOC(ndr, r->in.req);
13550 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13551 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13552 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13553 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13554 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13555 NDR_PULL_ALLOC(ndr, r->out.level_out);
13556 ZERO_STRUCTP(r->out.level_out);
13557 NDR_PULL_ALLOC(ndr, r->out.ctr);
13558 ZERO_STRUCTP(r->out.ctr);
13560 if (flags & NDR_OUT) {
13561 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13562 NDR_PULL_ALLOC(ndr, r->out.level_out);
13564 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13565 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13566 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
13567 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13568 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13569 NDR_PULL_ALLOC(ndr, r->out.ctr);
13571 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13572 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13573 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13574 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13576 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13578 return NDR_ERR_SUCCESS;
13581 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
13583 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
13585 if (flags & NDR_SET_VALUES) {
13586 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13588 if (flags & NDR_IN) {
13589 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
13591 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13593 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13595 ndr_print_uint32(ndr, "level", r->in.level);
13596 ndr_print_ptr(ndr, "req", r->in.req);
13598 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13599 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
13603 if (flags & NDR_OUT) {
13604 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
13606 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13608 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
13610 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13612 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13613 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
13615 ndr_print_WERROR(ndr, "result", r->out.result);
13621 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13623 if (flags & NDR_IN) {
13624 if (r->in.bind_handle == NULL) {
13625 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13627 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13629 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13630 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13632 if (flags & NDR_OUT) {
13633 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13635 return NDR_ERR_SUCCESS;
13638 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
13640 TALLOC_CTX *_mem_save_bind_handle_0;
13641 if (flags & NDR_IN) {
13642 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13643 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13645 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13646 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13647 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13648 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13649 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13650 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13651 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13653 if (flags & NDR_OUT) {
13654 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13656 return NDR_ERR_SUCCESS;
13659 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13661 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
13663 if (flags & NDR_SET_VALUES) {
13664 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13666 if (flags & NDR_IN) {
13667 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
13669 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13671 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13673 ndr_print_uint32(ndr, "level", r->in.level);
13674 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13675 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
13678 if (flags & NDR_OUT) {
13679 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
13681 ndr_print_WERROR(ndr, "result", r->out.result);
13687 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
13689 if (flags & NDR_IN) {
13690 if (r->in.bind_handle == NULL) {
13691 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13693 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13694 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13695 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13696 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13698 if (flags & NDR_OUT) {
13699 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13701 return NDR_ERR_SUCCESS;
13704 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
13706 TALLOC_CTX *_mem_save_bind_handle_0;
13707 if (flags & NDR_IN) {
13708 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13709 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13711 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13712 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13713 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13714 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13715 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13716 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13717 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13719 if (flags & NDR_OUT) {
13720 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13722 return NDR_ERR_SUCCESS;
13725 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
13727 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
13729 if (flags & NDR_SET_VALUES) {
13730 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13732 if (flags & NDR_IN) {
13733 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
13735 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13737 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13739 ndr_print_uint32(ndr, "level", r->in.level);
13740 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13741 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
13744 if (flags & NDR_OUT) {
13745 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
13747 ndr_print_WERROR(ndr, "result", r->out.result);
13753 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
13755 if (flags & NDR_IN) {
13756 if (r->in.bind_handle == NULL) {
13757 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13759 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13760 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13761 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13762 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13764 if (flags & NDR_OUT) {
13765 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13767 return NDR_ERR_SUCCESS;
13770 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
13772 TALLOC_CTX *_mem_save_bind_handle_0;
13773 if (flags & NDR_IN) {
13774 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13775 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13777 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13778 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13779 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13780 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13781 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13782 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13783 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13785 if (flags & NDR_OUT) {
13786 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13788 return NDR_ERR_SUCCESS;
13791 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
13793 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
13795 if (flags & NDR_SET_VALUES) {
13796 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13798 if (flags & NDR_IN) {
13799 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
13801 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13803 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13805 ndr_print_uint32(ndr, "level", r->in.level);
13806 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13807 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
13810 if (flags & NDR_OUT) {
13811 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
13813 ndr_print_WERROR(ndr, "result", r->out.result);
13819 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
13821 if (flags & NDR_IN) {
13822 if (r->in.bind_handle == NULL) {
13823 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13825 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13826 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13827 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13828 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13830 if (flags & NDR_OUT) {
13831 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13833 return NDR_ERR_SUCCESS;
13836 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
13838 TALLOC_CTX *_mem_save_bind_handle_0;
13839 if (flags & NDR_IN) {
13840 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13841 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13843 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13844 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13845 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13846 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13847 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13848 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13849 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13851 if (flags & NDR_OUT) {
13852 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13854 return NDR_ERR_SUCCESS;
13857 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
13859 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
13861 if (flags & NDR_SET_VALUES) {
13862 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13864 if (flags & NDR_IN) {
13865 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
13867 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13869 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13871 ndr_print_uint32(ndr, "level", r->in.level);
13872 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13873 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
13876 if (flags & NDR_OUT) {
13877 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
13879 ndr_print_WERROR(ndr, "result", r->out.result);
13885 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13887 if (flags & NDR_IN) {
13889 if (flags & NDR_OUT) {
13890 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13892 return NDR_ERR_SUCCESS;
13895 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
13897 if (flags & NDR_IN) {
13899 if (flags & NDR_OUT) {
13900 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13902 return NDR_ERR_SUCCESS;
13905 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13907 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
13909 if (flags & NDR_SET_VALUES) {
13910 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13912 if (flags & NDR_IN) {
13913 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
13917 if (flags & NDR_OUT) {
13918 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
13920 ndr_print_WERROR(ndr, "result", r->out.result);
13926 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
13928 if (flags & NDR_IN) {
13929 if (r->in.bind_handle == NULL) {
13930 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13932 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13933 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13934 if (r->in.req == NULL) {
13935 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13937 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13938 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13940 if (flags & NDR_OUT) {
13941 if (r->out.level_out == NULL) {
13942 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13944 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
13945 if (r->out.ctr == NULL) {
13946 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13948 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13949 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13950 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13952 return NDR_ERR_SUCCESS;
13955 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
13957 TALLOC_CTX *_mem_save_bind_handle_0;
13958 TALLOC_CTX *_mem_save_req_0;
13959 TALLOC_CTX *_mem_save_level_out_0;
13960 TALLOC_CTX *_mem_save_ctr_0;
13961 if (flags & NDR_IN) {
13962 ZERO_STRUCT(r->out);
13964 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13965 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13967 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13968 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13969 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13970 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13971 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13972 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13973 NDR_PULL_ALLOC(ndr, r->in.req);
13975 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13976 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13977 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13978 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13979 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13980 NDR_PULL_ALLOC(ndr, r->out.level_out);
13981 ZERO_STRUCTP(r->out.level_out);
13982 NDR_PULL_ALLOC(ndr, r->out.ctr);
13983 ZERO_STRUCTP(r->out.ctr);
13985 if (flags & NDR_OUT) {
13986 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13987 NDR_PULL_ALLOC(ndr, r->out.level_out);
13989 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13990 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13991 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
13992 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13993 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13994 NDR_PULL_ALLOC(ndr, r->out.ctr);
13996 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13997 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13998 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13999 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14000 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14001 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14003 return NDR_ERR_SUCCESS;
14006 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
14008 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
14010 if (flags & NDR_SET_VALUES) {
14011 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14013 if (flags & NDR_IN) {
14014 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
14016 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14018 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14020 ndr_print_uint32(ndr, "level", r->in.level);
14021 ndr_print_ptr(ndr, "req", r->in.req);
14023 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14024 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
14028 if (flags & NDR_OUT) {
14029 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
14031 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14033 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14035 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14037 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14038 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
14040 ndr_print_WERROR(ndr, "result", r->out.result);
14046 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14048 if (flags & NDR_IN) {
14050 if (flags & NDR_OUT) {
14051 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14053 return NDR_ERR_SUCCESS;
14056 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14058 if (flags & NDR_IN) {
14060 if (flags & NDR_OUT) {
14061 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14063 return NDR_ERR_SUCCESS;
14066 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14068 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
14070 if (flags & NDR_SET_VALUES) {
14071 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14073 if (flags & NDR_IN) {
14074 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14078 if (flags & NDR_OUT) {
14079 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14081 ndr_print_WERROR(ndr, "result", r->out.result);
14087 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14089 if (flags & NDR_IN) {
14090 if (r->in.bind_handle == NULL) {
14091 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14093 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14094 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14095 if (r->in.req == NULL) {
14096 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14098 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14099 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14101 if (flags & NDR_OUT) {
14102 if (r->out.level_out == NULL) {
14103 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14106 if (r->out.info == NULL) {
14107 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14109 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
14110 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14111 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14113 return NDR_ERR_SUCCESS;
14116 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
14118 TALLOC_CTX *_mem_save_bind_handle_0;
14119 TALLOC_CTX *_mem_save_req_0;
14120 TALLOC_CTX *_mem_save_level_out_0;
14121 TALLOC_CTX *_mem_save_info_0;
14122 if (flags & NDR_IN) {
14123 ZERO_STRUCT(r->out);
14125 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14126 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14128 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14129 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14130 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14131 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14132 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14133 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14134 NDR_PULL_ALLOC(ndr, r->in.req);
14136 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14137 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14138 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14139 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14140 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14141 NDR_PULL_ALLOC(ndr, r->out.level_out);
14142 ZERO_STRUCTP(r->out.level_out);
14143 NDR_PULL_ALLOC(ndr, r->out.info);
14144 ZERO_STRUCTP(r->out.info);
14146 if (flags & NDR_OUT) {
14147 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14148 NDR_PULL_ALLOC(ndr, r->out.level_out);
14150 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14151 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14152 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14153 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14154 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14155 NDR_PULL_ALLOC(ndr, r->out.info);
14157 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14158 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14159 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
14160 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14161 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14162 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14164 return NDR_ERR_SUCCESS;
14167 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14169 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
14171 if (flags & NDR_SET_VALUES) {
14172 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14174 if (flags & NDR_IN) {
14175 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
14177 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14179 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14181 ndr_print_uint32(ndr, "level", r->in.level);
14182 ndr_print_ptr(ndr, "req", r->in.req);
14184 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14185 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
14189 if (flags & NDR_OUT) {
14190 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
14192 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14194 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14196 ndr_print_ptr(ndr, "info", r->out.info);
14198 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
14199 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
14201 ndr_print_WERROR(ndr, "result", r->out.result);
14207 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
14209 if (flags & NDR_IN) {
14210 if (r->in.bind_handle == NULL) {
14211 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14213 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14215 if (r->in.req == NULL) {
14216 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14218 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14219 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14221 if (flags & NDR_OUT) {
14222 if (r->out.level_out == NULL) {
14223 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14225 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14226 if (r->out.ctr == NULL) {
14227 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14229 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14230 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14231 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14233 return NDR_ERR_SUCCESS;
14236 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
14238 TALLOC_CTX *_mem_save_bind_handle_0;
14239 TALLOC_CTX *_mem_save_req_0;
14240 TALLOC_CTX *_mem_save_level_out_0;
14241 TALLOC_CTX *_mem_save_ctr_0;
14242 if (flags & NDR_IN) {
14243 ZERO_STRUCT(r->out);
14245 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14246 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14248 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14249 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14250 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14251 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14252 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14253 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14254 NDR_PULL_ALLOC(ndr, r->in.req);
14256 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14257 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14258 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14259 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14260 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14261 NDR_PULL_ALLOC(ndr, r->out.level_out);
14262 ZERO_STRUCTP(r->out.level_out);
14263 NDR_PULL_ALLOC(ndr, r->out.ctr);
14264 ZERO_STRUCTP(r->out.ctr);
14266 if (flags & NDR_OUT) {
14267 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14268 NDR_PULL_ALLOC(ndr, r->out.level_out);
14270 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14271 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14272 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14274 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14275 NDR_PULL_ALLOC(ndr, r->out.ctr);
14277 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14278 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14279 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14280 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14282 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14284 return NDR_ERR_SUCCESS;
14287 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
14289 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
14291 if (flags & NDR_SET_VALUES) {
14292 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14294 if (flags & NDR_IN) {
14295 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
14297 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14299 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14301 ndr_print_uint32(ndr, "level", r->in.level);
14302 ndr_print_ptr(ndr, "req", r->in.req);
14304 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14305 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
14309 if (flags & NDR_OUT) {
14310 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
14312 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14314 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14316 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14318 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14319 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
14321 ndr_print_WERROR(ndr, "result", r->out.result);
14327 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14329 if (flags & NDR_IN) {
14330 if (r->in.bind_handle == NULL) {
14331 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14333 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14334 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14335 if (r->in.req == NULL) {
14336 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14338 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14339 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14341 if (flags & NDR_OUT) {
14342 if (r->out.level_out == NULL) {
14343 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14345 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14346 if (r->out.res == NULL) {
14347 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14349 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14350 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14351 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14353 return NDR_ERR_SUCCESS;
14356 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
14358 TALLOC_CTX *_mem_save_bind_handle_0;
14359 TALLOC_CTX *_mem_save_req_0;
14360 TALLOC_CTX *_mem_save_level_out_0;
14361 TALLOC_CTX *_mem_save_res_0;
14362 if (flags & NDR_IN) {
14363 ZERO_STRUCT(r->out);
14365 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14366 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14368 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14369 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14370 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14371 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14372 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14373 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14374 NDR_PULL_ALLOC(ndr, r->in.req);
14376 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14377 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14378 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14379 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14380 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14381 NDR_PULL_ALLOC(ndr, r->out.level_out);
14382 ZERO_STRUCTP(r->out.level_out);
14383 NDR_PULL_ALLOC(ndr, r->out.res);
14384 ZERO_STRUCTP(r->out.res);
14386 if (flags & NDR_OUT) {
14387 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14388 NDR_PULL_ALLOC(ndr, r->out.level_out);
14390 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14391 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14392 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14393 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14394 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14395 NDR_PULL_ALLOC(ndr, r->out.res);
14397 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14398 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14399 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14400 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14402 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14404 return NDR_ERR_SUCCESS;
14407 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14409 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
14411 if (flags & NDR_SET_VALUES) {
14412 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14414 if (flags & NDR_IN) {
14415 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
14417 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14419 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14421 ndr_print_uint32(ndr, "level", r->in.level);
14422 ndr_print_ptr(ndr, "req", r->in.req);
14424 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14425 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
14429 if (flags & NDR_OUT) {
14430 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
14432 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14434 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14436 ndr_print_ptr(ndr, "res", r->out.res);
14438 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14439 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
14441 ndr_print_WERROR(ndr, "result", r->out.result);
14447 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
14449 if (flags & NDR_IN) {
14450 if (r->in.bind_handle == NULL) {
14451 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14453 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14454 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14455 if (r->in.req == NULL) {
14456 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14458 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14459 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14461 if (flags & NDR_OUT) {
14462 if (r->out.level_out == NULL) {
14463 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14465 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14466 if (r->out.res == NULL) {
14467 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14469 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14470 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14471 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14473 return NDR_ERR_SUCCESS;
14476 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
14478 TALLOC_CTX *_mem_save_bind_handle_0;
14479 TALLOC_CTX *_mem_save_req_0;
14480 TALLOC_CTX *_mem_save_level_out_0;
14481 TALLOC_CTX *_mem_save_res_0;
14482 if (flags & NDR_IN) {
14483 ZERO_STRUCT(r->out);
14485 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14486 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14488 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14489 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14490 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14491 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14492 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14493 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14494 NDR_PULL_ALLOC(ndr, r->in.req);
14496 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14497 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14498 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14499 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14500 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14501 NDR_PULL_ALLOC(ndr, r->out.level_out);
14502 ZERO_STRUCTP(r->out.level_out);
14503 NDR_PULL_ALLOC(ndr, r->out.res);
14504 ZERO_STRUCTP(r->out.res);
14506 if (flags & NDR_OUT) {
14507 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14508 NDR_PULL_ALLOC(ndr, r->out.level_out);
14510 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14511 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14512 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14513 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14514 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14515 NDR_PULL_ALLOC(ndr, r->out.res);
14517 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14518 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14519 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14520 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14522 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14524 return NDR_ERR_SUCCESS;
14527 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
14529 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
14531 if (flags & NDR_SET_VALUES) {
14532 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14534 if (flags & NDR_IN) {
14535 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
14537 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14539 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14541 ndr_print_uint32(ndr, "level", r->in.level);
14542 ndr_print_ptr(ndr, "req", r->in.req);
14544 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14545 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
14549 if (flags & NDR_OUT) {
14550 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
14552 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14554 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14556 ndr_print_ptr(ndr, "res", r->out.res);
14558 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14559 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
14561 ndr_print_WERROR(ndr, "result", r->out.result);
14567 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14569 if (flags & NDR_IN) {
14571 if (flags & NDR_OUT) {
14572 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14574 return NDR_ERR_SUCCESS;
14577 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14579 if (flags & NDR_IN) {
14581 if (flags & NDR_OUT) {
14582 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14584 return NDR_ERR_SUCCESS;
14587 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14589 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
14591 if (flags & NDR_SET_VALUES) {
14592 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14594 if (flags & NDR_IN) {
14595 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14599 if (flags & NDR_OUT) {
14600 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14602 ndr_print_WERROR(ndr, "result", r->out.result);
14608 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14610 if (flags & NDR_IN) {
14611 if (r->in.bind_handle == NULL) {
14612 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14614 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14615 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14616 if (r->in.req == NULL) {
14617 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14619 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14620 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14622 if (flags & NDR_OUT) {
14623 if (r->out.level_out == NULL) {
14624 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14626 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14627 if (r->out.ctr == NULL) {
14628 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14630 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14631 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14632 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14634 return NDR_ERR_SUCCESS;
14637 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
14639 TALLOC_CTX *_mem_save_bind_handle_0;
14640 TALLOC_CTX *_mem_save_req_0;
14641 TALLOC_CTX *_mem_save_level_out_0;
14642 TALLOC_CTX *_mem_save_ctr_0;
14643 if (flags & NDR_IN) {
14644 ZERO_STRUCT(r->out);
14646 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14647 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14649 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14650 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14651 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14653 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14654 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14655 NDR_PULL_ALLOC(ndr, r->in.req);
14657 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14658 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14659 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14660 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14661 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14662 NDR_PULL_ALLOC(ndr, r->out.level_out);
14663 ZERO_STRUCTP(r->out.level_out);
14664 NDR_PULL_ALLOC(ndr, r->out.ctr);
14665 ZERO_STRUCTP(r->out.ctr);
14667 if (flags & NDR_OUT) {
14668 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14669 NDR_PULL_ALLOC(ndr, r->out.level_out);
14671 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14672 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14673 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14674 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14675 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14676 NDR_PULL_ALLOC(ndr, r->out.ctr);
14678 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14679 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14680 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14681 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14683 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14685 return NDR_ERR_SUCCESS;
14688 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14690 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
14692 if (flags & NDR_SET_VALUES) {
14693 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14695 if (flags & NDR_IN) {
14696 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
14698 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14700 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14702 ndr_print_int32(ndr, "level", r->in.level);
14703 ndr_print_ptr(ndr, "req", r->in.req);
14705 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14706 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
14710 if (flags & NDR_OUT) {
14711 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
14713 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14715 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14717 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14719 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14720 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
14722 ndr_print_WERROR(ndr, "result", r->out.result);
14728 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
14730 if (flags & NDR_IN) {
14731 if (r->in.bind_handle == NULL) {
14732 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14734 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14735 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14736 if (r->in.req == NULL) {
14737 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14739 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14740 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14742 if (flags & NDR_OUT) {
14743 if (r->out.level_out == NULL) {
14744 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14746 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14747 if (r->out.ctr == NULL) {
14748 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14750 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14751 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14752 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14754 return NDR_ERR_SUCCESS;
14757 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
14759 TALLOC_CTX *_mem_save_bind_handle_0;
14760 TALLOC_CTX *_mem_save_req_0;
14761 TALLOC_CTX *_mem_save_level_out_0;
14762 TALLOC_CTX *_mem_save_ctr_0;
14763 if (flags & NDR_IN) {
14764 ZERO_STRUCT(r->out);
14766 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14767 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14769 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14770 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14771 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14772 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14773 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14774 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14775 NDR_PULL_ALLOC(ndr, r->in.req);
14777 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14778 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14779 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14780 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14782 NDR_PULL_ALLOC(ndr, r->out.level_out);
14783 ZERO_STRUCTP(r->out.level_out);
14784 NDR_PULL_ALLOC(ndr, r->out.ctr);
14785 ZERO_STRUCTP(r->out.ctr);
14787 if (flags & NDR_OUT) {
14788 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14789 NDR_PULL_ALLOC(ndr, r->out.level_out);
14791 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14792 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14793 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14794 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14795 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14796 NDR_PULL_ALLOC(ndr, r->out.ctr);
14798 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14799 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14800 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14801 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14802 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14803 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14805 return NDR_ERR_SUCCESS;
14808 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
14810 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
14812 if (flags & NDR_SET_VALUES) {
14813 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14815 if (flags & NDR_IN) {
14816 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
14818 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14820 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14822 ndr_print_int32(ndr, "level", r->in.level);
14823 ndr_print_ptr(ndr, "req", r->in.req);
14825 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14826 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
14830 if (flags & NDR_OUT) {
14831 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
14833 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14835 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14837 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14839 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14840 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
14842 ndr_print_WERROR(ndr, "result", r->out.result);
14848 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
14850 if (flags & NDR_IN) {
14851 if (r->in.bind_handle == NULL) {
14852 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14854 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14856 if (r->in.req == NULL) {
14857 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14859 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14860 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
14862 if (flags & NDR_OUT) {
14863 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14865 return NDR_ERR_SUCCESS;
14868 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
14870 TALLOC_CTX *_mem_save_bind_handle_0;
14871 TALLOC_CTX *_mem_save_req_0;
14872 if (flags & NDR_IN) {
14873 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14874 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14876 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14877 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14878 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14879 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14880 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14881 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14882 NDR_PULL_ALLOC(ndr, r->in.req);
14884 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14885 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14886 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14887 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
14888 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14890 if (flags & NDR_OUT) {
14891 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14893 return NDR_ERR_SUCCESS;
14896 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
14898 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
14900 if (flags & NDR_SET_VALUES) {
14901 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14903 if (flags & NDR_IN) {
14904 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
14906 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14908 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14910 ndr_print_uint32(ndr, "level", r->in.level);
14911 ndr_print_ptr(ndr, "req", r->in.req);
14913 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14914 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
14918 if (flags & NDR_OUT) {
14919 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
14921 ndr_print_WERROR(ndr, "result", r->out.result);
14927 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
14929 if (flags & NDR_IN) {
14930 if (r->in.bind_handle == NULL) {
14931 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14933 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14934 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
14935 if (r->in.req == NULL) {
14936 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14938 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14939 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14941 if (flags & NDR_OUT) {
14942 if (r->out.info_type == NULL) {
14943 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14945 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
14946 if (r->out.info == NULL) {
14947 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14949 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
14950 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14951 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14953 return NDR_ERR_SUCCESS;
14956 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
14958 TALLOC_CTX *_mem_save_bind_handle_0;
14959 TALLOC_CTX *_mem_save_req_0;
14960 TALLOC_CTX *_mem_save_info_type_0;
14961 TALLOC_CTX *_mem_save_info_0;
14962 if (flags & NDR_IN) {
14963 ZERO_STRUCT(r->out);
14965 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14966 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14968 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14969 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14970 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14971 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14972 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
14973 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14974 NDR_PULL_ALLOC(ndr, r->in.req);
14976 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14977 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14978 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14979 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14980 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14981 NDR_PULL_ALLOC(ndr, r->out.info_type);
14982 ZERO_STRUCTP(r->out.info_type);
14983 NDR_PULL_ALLOC(ndr, r->out.info);
14984 ZERO_STRUCTP(r->out.info);
14986 if (flags & NDR_OUT) {
14987 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14988 NDR_PULL_ALLOC(ndr, r->out.info_type);
14990 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
14991 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
14992 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
14993 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
14994 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14995 NDR_PULL_ALLOC(ndr, r->out.info);
14997 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14998 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14999 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
15000 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15001 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15002 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15004 return NDR_ERR_SUCCESS;
15007 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15009 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
15011 if (flags & NDR_SET_VALUES) {
15012 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15014 if (flags & NDR_IN) {
15015 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
15017 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15019 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15021 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
15022 ndr_print_ptr(ndr, "req", r->in.req);
15024 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15025 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
15029 if (flags & NDR_OUT) {
15030 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
15032 ndr_print_ptr(ndr, "info_type", r->out.info_type);
15034 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
15036 ndr_print_ptr(ndr, "info", r->out.info);
15038 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
15039 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
15041 ndr_print_WERROR(ndr, "result", r->out.result);
15047 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15049 if (flags & NDR_IN) {
15051 if (flags & NDR_OUT) {
15052 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15054 return NDR_ERR_SUCCESS;
15057 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
15059 if (flags & NDR_IN) {
15061 if (flags & NDR_OUT) {
15062 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15064 return NDR_ERR_SUCCESS;
15067 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15069 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
15071 if (flags & NDR_SET_VALUES) {
15072 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15074 if (flags & NDR_IN) {
15075 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
15079 if (flags & NDR_OUT) {
15080 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
15082 ndr_print_WERROR(ndr, "result", r->out.result);
15088 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
15090 if (flags & NDR_IN) {
15091 if (r->in.bind_handle == NULL) {
15092 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15094 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15095 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15096 if (r->in.req == NULL) {
15097 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15099 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15100 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15102 if (flags & NDR_OUT) {
15103 if (r->out.level_out == NULL) {
15104 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15107 if (r->out.ctr == NULL) {
15108 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15110 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15111 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15112 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15114 return NDR_ERR_SUCCESS;
15117 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
15119 TALLOC_CTX *_mem_save_bind_handle_0;
15120 TALLOC_CTX *_mem_save_req_0;
15121 TALLOC_CTX *_mem_save_level_out_0;
15122 TALLOC_CTX *_mem_save_ctr_0;
15123 if (flags & NDR_IN) {
15124 ZERO_STRUCT(r->out);
15126 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15127 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15129 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15130 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15131 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15132 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15133 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15134 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15135 NDR_PULL_ALLOC(ndr, r->in.req);
15137 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15138 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15139 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15140 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15141 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15142 NDR_PULL_ALLOC(ndr, r->out.level_out);
15143 ZERO_STRUCTP(r->out.level_out);
15144 NDR_PULL_ALLOC(ndr, r->out.ctr);
15145 ZERO_STRUCTP(r->out.ctr);
15147 if (flags & NDR_OUT) {
15148 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15149 NDR_PULL_ALLOC(ndr, r->out.level_out);
15151 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15152 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15153 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15154 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15155 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15156 NDR_PULL_ALLOC(ndr, r->out.ctr);
15158 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15159 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15160 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15161 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15163 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15165 return NDR_ERR_SUCCESS;
15168 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
15170 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
15172 if (flags & NDR_SET_VALUES) {
15173 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15175 if (flags & NDR_IN) {
15176 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
15178 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15180 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15182 ndr_print_uint32(ndr, "level", r->in.level);
15183 ndr_print_ptr(ndr, "req", r->in.req);
15185 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15186 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
15190 if (flags & NDR_OUT) {
15191 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
15193 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15195 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15197 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15199 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15200 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
15202 ndr_print_WERROR(ndr, "result", r->out.result);
15208 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15210 if (flags & NDR_IN) {
15212 if (flags & NDR_OUT) {
15213 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15215 return NDR_ERR_SUCCESS;
15218 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15220 if (flags & NDR_IN) {
15222 if (flags & NDR_OUT) {
15223 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15225 return NDR_ERR_SUCCESS;
15228 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15230 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15232 if (flags & NDR_SET_VALUES) {
15233 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15235 if (flags & NDR_IN) {
15236 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15240 if (flags & NDR_OUT) {
15241 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15243 ndr_print_WERROR(ndr, "result", r->out.result);
15249 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15251 if (flags & NDR_IN) {
15253 if (flags & NDR_OUT) {
15254 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15256 return NDR_ERR_SUCCESS;
15259 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15261 if (flags & NDR_IN) {
15263 if (flags & NDR_OUT) {
15264 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15266 return NDR_ERR_SUCCESS;
15269 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15271 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
15273 if (flags & NDR_SET_VALUES) {
15274 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15276 if (flags & NDR_IN) {
15277 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15281 if (flags & NDR_OUT) {
15282 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15284 ndr_print_WERROR(ndr, "result", r->out.result);
15290 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
15292 if (flags & NDR_IN) {
15293 if (r->in.bind_handle == NULL) {
15294 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15296 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15298 if (r->in.req == NULL) {
15299 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15301 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15302 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15304 if (flags & NDR_OUT) {
15305 if (r->out.level_out == NULL) {
15306 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15308 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
15309 if (r->out.ctr == NULL) {
15310 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15312 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15313 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15314 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15316 return NDR_ERR_SUCCESS;
15319 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
15321 TALLOC_CTX *_mem_save_bind_handle_0;
15322 TALLOC_CTX *_mem_save_req_0;
15323 TALLOC_CTX *_mem_save_level_out_0;
15324 TALLOC_CTX *_mem_save_ctr_0;
15325 if (flags & NDR_IN) {
15326 ZERO_STRUCT(r->out);
15328 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15329 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15331 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15332 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15333 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15335 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15336 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15337 NDR_PULL_ALLOC(ndr, r->in.req);
15339 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15340 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15341 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15342 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15343 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15344 NDR_PULL_ALLOC(ndr, r->out.level_out);
15345 ZERO_STRUCTP(r->out.level_out);
15346 NDR_PULL_ALLOC(ndr, r->out.ctr);
15347 ZERO_STRUCTP(r->out.ctr);
15349 if (flags & NDR_OUT) {
15350 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15351 NDR_PULL_ALLOC(ndr, r->out.level_out);
15353 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15354 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15355 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
15356 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15357 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15358 NDR_PULL_ALLOC(ndr, r->out.ctr);
15360 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15361 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15362 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15363 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15364 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15365 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15367 return NDR_ERR_SUCCESS;
15370 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
15372 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
15374 if (flags & NDR_SET_VALUES) {
15375 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15377 if (flags & NDR_IN) {
15378 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
15380 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15382 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15384 ndr_print_uint32(ndr, "level", r->in.level);
15385 ndr_print_ptr(ndr, "req", r->in.req);
15387 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15388 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
15392 if (flags & NDR_OUT) {
15393 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
15395 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15397 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
15399 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15401 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15402 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
15404 ndr_print_WERROR(ndr, "result", r->out.result);
15410 static const struct ndr_interface_call drsuapi_calls[] = {
15413 sizeof(struct drsuapi_DsBind),
15414 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
15415 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
15416 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
15420 "drsuapi_DsUnbind",
15421 sizeof(struct drsuapi_DsUnbind),
15422 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
15423 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
15424 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
15428 "drsuapi_DsReplicaSync",
15429 sizeof(struct drsuapi_DsReplicaSync),
15430 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
15431 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
15432 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
15436 "drsuapi_DsGetNCChanges",
15437 sizeof(struct drsuapi_DsGetNCChanges),
15438 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
15439 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
15440 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
15444 "drsuapi_DsReplicaUpdateRefs",
15445 sizeof(struct drsuapi_DsReplicaUpdateRefs),
15446 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
15447 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
15448 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
15452 "drsuapi_DsReplicaAdd",
15453 sizeof(struct drsuapi_DsReplicaAdd),
15454 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
15455 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
15456 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
15460 "drsuapi_DsReplicaDel",
15461 sizeof(struct drsuapi_DsReplicaDel),
15462 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
15463 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
15464 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
15468 "drsuapi_DsReplicaMod",
15469 sizeof(struct drsuapi_DsReplicaMod),
15470 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
15471 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
15472 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
15476 "DRSUAPI_VERIFY_NAMES",
15477 sizeof(struct DRSUAPI_VERIFY_NAMES),
15478 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
15479 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
15480 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
15484 "drsuapi_DsGetMemberships",
15485 sizeof(struct drsuapi_DsGetMemberships),
15486 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
15487 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
15488 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
15492 "DRSUAPI_INTER_DOMAIN_MOVE",
15493 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
15494 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
15495 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
15496 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
15500 "drsuapi_DsGetNT4ChangeLog",
15501 sizeof(struct drsuapi_DsGetNT4ChangeLog),
15502 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
15503 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
15504 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
15508 "drsuapi_DsCrackNames",
15509 sizeof(struct drsuapi_DsCrackNames),
15510 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
15511 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
15512 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
15516 "drsuapi_DsWriteAccountSpn",
15517 sizeof(struct drsuapi_DsWriteAccountSpn),
15518 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
15519 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
15520 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
15524 "drsuapi_DsRemoveDSServer",
15525 sizeof(struct drsuapi_DsRemoveDSServer),
15526 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
15527 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
15528 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
15532 "DRSUAPI_REMOVE_DS_DOMAIN",
15533 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
15534 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
15535 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
15536 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
15540 "drsuapi_DsGetDomainControllerInfo",
15541 sizeof(struct drsuapi_DsGetDomainControllerInfo),
15542 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
15543 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
15544 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
15548 "drsuapi_DsAddEntry",
15549 sizeof(struct drsuapi_DsAddEntry),
15550 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
15551 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
15552 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
15556 "drsuapi_DsExecuteKCC",
15557 sizeof(struct drsuapi_DsExecuteKCC),
15558 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
15559 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
15560 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
15564 "drsuapi_DsReplicaGetInfo",
15565 sizeof(struct drsuapi_DsReplicaGetInfo),
15566 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
15567 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
15568 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
15572 "DRSUAPI_ADD_SID_HISTORY",
15573 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
15574 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
15575 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
15576 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
15580 "drsuapi_DsGetMemberships2",
15581 sizeof(struct drsuapi_DsGetMemberships2),
15582 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
15583 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
15584 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
15588 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15589 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
15590 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15591 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15592 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15596 "DRSUAPI_GET_OBJECT_EXISTENCE",
15597 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
15598 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
15599 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
15600 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
15604 "drsuapi_QuerySitesByCost",
15605 sizeof(struct drsuapi_QuerySitesByCost),
15606 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
15607 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
15608 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
15611 { NULL, 0, NULL, NULL, NULL, false }
15614 static const char * const drsuapi_endpoint_strings[] = {
15615 "ncacn_np:[\\pipe\\lsass]",
15616 "ncacn_np:[\\pipe\\protected_storage]",
15621 static const struct ndr_interface_string_array drsuapi_endpoints = {
15623 .names = drsuapi_endpoint_strings
15626 static const char * const drsuapi_authservice_strings[] = {
15630 static const struct ndr_interface_string_array drsuapi_authservices = {
15632 .names = drsuapi_authservice_strings
15636 const struct ndr_interface_table ndr_table_drsuapi = {
15639 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15640 NDR_DRSUAPI_VERSION
15642 .helpstring = NDR_DRSUAPI_HELPSTRING,
15644 .calls = drsuapi_calls,
15645 .endpoints = &drsuapi_endpoints,
15646 .authservices = &drsuapi_authservices